Показать сообщение отдельно
Старый 26.02.2009, 10:58   #4  
cerbo is offline
cerbo
Участник
 
25 / 11 (1) +
Регистрация: 02.10.2008
Thumbs down
Главное в ООП это инкапсуляция, которая нужна прежде всего человеку, а не компилятору. А такое поведение (паблик поумолчанию) подстрекает к ее нарушению.

Цитата:
Сообщение от gl00mie Посмотреть сообщение
  • модификатор доступа public по умолчанию для методов - это просто особенность такая в Х++, связанная с тем, что методы (на формах, в классах, отчетах или, тем более, на таблицах) пишут в первую очередь для использования "извне". просто так удобнее, и это удобство компенсирует нарушение единообразия с другими ОО-языками (С++, C#), где по умолчанию методы получаются private;
это как раз таки баг из-за непонимания разработчиков что они делают

Цитата:
Сообщение от gl00mie Посмотреть сообщение
  • игнорирование модификаторов доступа для классов опять же связанно с особенностями Х++, точнее, с тем, что в приложении нет отдельных каких-то... библиотек, сборок, пространств имен - есть один АОТ, и в рамках него разграничивать доступ к отдельным классам как-то... ни к чему. Зачастую даже с непродуманными модификаторами доступа к отдельным методам классов бывает много мороки: вот объявили в каком-нить COMExcelDocument_RU кучу полезных методов как private, и приходится с этим мучиться, а если еще к целым классам можно было доступ закрывать, то это вообще был бы финиш
Ты хоть сам понимаешь какую ахинею несешь!!! То что "есть один АОТ" (иными словами одна большая помойка), как раз и есть главная болезнь ахапты.

Вести поддержку в таких условиях очень сложно, потому как нет уверености что мои правки не поламали что-нибудь о чем я понятия не имею. Приходится очень долго и нудно проверять, а потом еще и долго боятся "а не забыл ли чего". Всего лишь один прайвед в нужном месте может уберечь время и нервы разработчика.
__________________
Dynamics AX 4.0.2501.122 SP2, kernel 4.0.2163.0, MS SQL 2005
За это сообщение автора поблагодарили: EVGL (-1).