Мне достаточно соглашения об именах переменных и свойств...
Sumo 11.12.2013 13:22
Т.е. схема примерно такая:
— Все приватные переменные и методы начинаются с подчеркивания ($_var).
— Публичные переменные без подчеркиваний.
— По факту стараюсь все убрать в приватные переменные, а наружу выставить свойства. Если переменную не надо изменять снаружи, то делаю только гетер.
— Все, что классу нужно передаю через конструктор (DI и IoC наше все).
— В коде очень легко понять, что где-то ошибся с интерфейсом. Встретился код $object._var, значит надо сделать свойство и получить $object.var.
— Внутри класса к публичным переменным обращаюсь через свойства, потому что в них часто содержатся фабрики.
— Для особо сложных случаев использую двойное подчеркивание перед именем — такая переменная никогда не может стать пабликом. Но нужно это редко.