singalen: (sun)
[personal profile] singalen
Пишу мелкий джавовский (ME) проект. Нарушаю устои.
Например, пользуюсь глобальными переменными - то есть, синглтонами. Местами не делаю аксесоров, выставляю поля пабликами.
Вместо односторонних зависимостей делаю двусторонние; правда, это упрощает объектную модель.
Типа знаю, какие правила нарушаю, и к чему это может привести.
Интересно, расту или деградирую? Кто бы сделал кодревю?

(no subject)

30/7/08 18:32 (UTC)
Posted by [identity profile] vbayda.livejournal.com
бывает)

особенно могу делать что хочу, поглубже в реализации.

например:
почему бы внутреннему private классу с простой логикой или вообще только с данными не иметь все члены публичными.

а, например, если нужна константа, которая используется исключительно в пределах одного класса.. то я даже предпочту сделать ее глобальной в cpp-файле, чем делать private static - интерфейс чище остается..

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

ну и тд.. вообще любое дерьмо надо зарывать, что бы не мешало окружающим.

вообще тут все зависит от того, что ты в конечном итоге хочешь получить))

ЗЫЖ это я конечно говорю с колокольни плюсов, т.е. разделение на *.h и *.cpp файлы, зависимости не только между сущностями но и между хедерами..

(no subject)

30/7/08 18:51 (UTC)
Posted by [identity profile] vbayda.livejournal.com
я думаю,
одна из причин для чего придуманы "формальные критерии"
это что бы переложить контроль за качеством, с людей на правила и со здравого смысла на шаблон.

и это действительно хорошо: можно смело не делать public переменных-членов, и не думать каждый раз, а какой доступ мне нужен к этой переменой..

но, естественно они могут грешить излишними обобщениями,
урезанием возможностей программиста/языка/технологии,
не упоминанием контекста в котором это правило работает.. и тд.

вот недавно пробегала ссылка на гугловский c++ code convention.
там каждый нашел место, куда плюнуть. но с другой стороны, они каждым правилом обезопасили себя от чего-то (не знаю от чего:))

(no subject)

30/7/08 19:08 (UTC)
Posted by [identity profile] vbayda.livejournal.com
да, это хорошо.. особенно в больших проектах, где люди не смогут друг-друга проконтролировать с помощью ревью, и где много разных точек зрения на одни и теже вещи.

но в твем случае, да и в случае когда делаешь небольшой и не зависимый от всего проекта кусок.. каждый волен слушаться своего здравого смысла.

(no subject)

30/7/08 19:24 (UTC)
Posted by [identity profile] vbayda.livejournal.com
в тех случаях, которыми я "грешу".. я думаю, что разумно.
опасных мест не оставляю, просто не следую правилу в слепую.

деталей насчет твоих "грехов" не знаю. поэтому не отвечу)