Показать сообщение отдельно
Старый 24.02.2009, 12:14   #3  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5803 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
ну как сказать...
  • параметры со значениями по умолчанию, идущие раньше параметров без значений по умолчанию, - это на самом деле какое-то извращение, и то, что компилятор такое позволяет, это никакая не гибкость, а скорее какая-то багофича, причем ближе к багу;
  • модификатор доступа public по умолчанию для методов - это просто особенность такая в Х++, связанная с тем, что методы (на формах, в классах, отчетах или, тем более, на таблицах) пишут в первую очередь для использования "извне". просто так удобнее, и это удобство компенсирует нарушение единообразия с другими ОО-языками (С++, C#), где по умолчанию методы получаются private;
  • игнорирование модификаторов доступа для классов опять же связанно с особенностями Х++, точнее, с тем, что в приложении нет отдельных каких-то... библиотек, сборок, пространств имен - есть один АОТ, и в рамках него разграничивать доступ к отдельным классам как-то... ни к чему. Зачастую даже с непродуманными модификаторами доступа к отдельным методам классов бывает много мороки: вот объявили в каком-нить COMExcelDocument_RU кучу полезных методов как private, и приходится с этим мучиться, а если еще к целым классам можно было доступ закрывать, то это вообще был бы финиш
  • обработка TODO - это вообще косметика. я, если честно, был в полной уверенности, что строки TODO вылавливают проверки BP, а не непосредственно компилятор; ну смотрит он дальше, чем предполагается, - и фиг бы с ним, а перестанет так себя вести - тоже невелика потеря, главное, чтоб работало, как в документации написано
в общем, если такие вот неоднозначности будут вычищать и вводить больше продуманного формализма, то я лично - только за.