Архив рубрики: dev

selfEncapsulation

Мартин Фаулер в своем блоге рассуждает о термине self-encapsulation который сам по себе означает следующее: доступ к приватным свойствам класса внутри самого класса должен осуществляться через методы-геттеры, не смотря на то, что свойства обычно доступны внутри класса во всех языках программирования. В итоге он не рекомендует рьяно использовать self-encapsulation всюду, он лишь говорит что ценность этого подхода пропорционально размеру класса (но ведь мы пишем только маленькие классы) и может принести профит если требуется дополнительная логика при работе со свойствами. Кроме этого при наследовании также можно переопределить эту логику. Т.о. «на первых парах» при создании нового класса не стоит придерживаться этого принципа, если нет прямой необходимости.

git fixup

Мне показали удобную возможность для изменения промежуточных коммитов — git fixup, после прочтения этой статьи я попробовал изменить один из коммитов, действительно это просто.

  1. Мы вносим изменения
  2. Помечаем промежуточный коммит, в который нужно эти изменения применить git commit --fixup {commit_hash}
  3. Ребейзимся по нужному предку git rebase -i --autosquash {some_parent_commit_hash}
  4. profit!