(no subject)
30/7/08 15:04Пишу мелкий джавовский (ME) проект. Нарушаю устои.
Например, пользуюсь глобальными переменными - то есть, синглтонами. Местами не делаю аксесоров, выставляю поля пабликами.
Вместо односторонних зависимостей делаю двусторонние; правда, это упрощает объектную модель.
Типа знаю, какие правила нарушаю, и к чему это может привести.
Интересно, расту или деградирую? Кто бы сделал кодревю?
Например, пользуюсь глобальными переменными - то есть, синглтонами. Местами не делаю аксесоров, выставляю поля пабликами.
Вместо односторонних зависимостей делаю двусторонние; правда, это упрощает объектную модель.
Типа знаю, какие правила нарушаю, и к чему это может привести.
Интересно, расту или деградирую? Кто бы сделал кодревю?
Tags:
(no subject)
30/7/08 18:32 (UTC)особенно могу делать что хочу, поглубже в реализации.
например:
почему бы внутреннему private классу с простой логикой или вообще только с данными не иметь все члены публичными.
а, например, если нужна константа, которая используется исключительно в пределах одного класса.. то я даже предпочту сделать ее глобальной в cpp-файле, чем делать private static - интерфейс чище остается..
а вот например заводить глобальную переменную с настройками приложения, меня пугает обычно.. хотя часто встречается такой заход.
тут лучше тоже припрятать дерьмо, например передавать стратегию в класс, а стратегия у себя в реализации будет уже пользоваться глобальной переменной с настройкой приложения. вытянуть класс из приложения и избавиться от такой глобальной переменной проще будет.
ну и тд.. вообще любое дерьмо надо зарывать, что бы не мешало окружающим.
вообще тут все зависит от того, что ты в конечном итоге хочешь получить))
ЗЫЖ это я конечно говорю с колокольни плюсов, т.е. разделение на *.h и *.cpp файлы, зависимости не только между сущностями но и между хедерами..
(no subject)
30/7/08 18:35 (UTC)(no subject)
30/7/08 18:51 (UTC)одна из причин для чего придуманы "формальные критерии"
это что бы переложить контроль за качеством, с людей на правила и со здравого смысла на шаблон.
и это действительно хорошо: можно смело не делать public переменных-членов, и не думать каждый раз, а какой доступ мне нужен к этой переменой..
но, естественно они могут грешить излишними обобщениями,
урезанием возможностей программиста/языка/технологии,
не упоминанием контекста в котором это правило работает.. и тд.
вот недавно пробегала ссылка на гугловский c++ code convention.
там каждый нашел место, куда плюнуть. но с другой стороны, они каждым правилом обезопасили себя от чего-то (не знаю от чего:))
(no subject)
30/7/08 18:57 (UTC)Они помогают автоматически проверить наличие ошибки.
Если у тебя доступ к переменной, особенно коллекции, только private, то ни одна сволочь снаружи её не попортит. И те де.
И везде, где я их нарушаю, я перекладываю ответственность за потенциальный баг с компилятора на себя.
(no subject)
30/7/08 19:08 (UTC)но в твем случае, да и в случае когда делаешь небольшой и не зависимый от всего проекта кусок.. каждый волен слушаться своего здравого смысла.
(no subject)
30/7/08 19:09 (UTC)(no subject)
30/7/08 19:24 (UTC)опасных мест не оставляю, просто не следую правилу в слепую.
деталей насчет твоих "грехов" не знаю. поэтому не отвечу)