Есть ли установленное название для этого анти-паттерна? - PullRequest
0 голосов
/ 19 февраля 2020

Довольно часто я вижу код, который использует избыточные свойства для данных, когда одно значение можно было вычислить на лету из двух других. Для меня это очевидный анти-паттерн, поскольку он значительно усложняет дальнейшую работу над кодом. Каждый раз, когда вы меняете одно значение, вы должны знать, как оно соотносится с другими значениями, а также изменять их. Если вы все испортите, возникает двусмысленная ситуация, когда вы не знаете, какие значения правильные, а какие нет.

Однако я не знаю, является ли это «известным» анти-паттерном с установленным именем.

# Bad
class Rectangle
  attr_accessor: height
  attr_accessor: width
  attr_accessor: ratio

  def initialize
    @height = 1
    @width = 1
    @ratio = 1
  end
end

# Good
class Rectangle
  attr_accessor: height
  attr_accessor: width

  def initialize
    @height = 1
    @width = 1
  end

  def ratio
   @width.to_f / @height
  end
end

1 Ответ

1 голос
/ 19 февраля 2020

По сути, нарушение не повторяйте себя ?

Каждая часть знаний должна иметь одно, однозначное, авторитетное представление в системе.


Нарушения DRY обычно называют WET-решениями, которые обычно обозначают как «пиши каждый раз», «пиши все дважды», «нам нравится печатать» или «впустую» всем время ".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...