Показать сообщение отдельно
Старый 25.06.2009, 22:30   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от ski Посмотреть сообщение
Действительно, только такие комментарии и используются. Просто я считаю, что этого не достаточно. Т.к. я только начал изучать АХ и сидеть разбираться в совершенно новом коде без комментариев достаточно тяжело. Я думаю, что всем было бы легче, если бы хоть в начале метода объяснялось, что хотят получить в итоге.
давным-давно, еще когда аксапта принадлежала даамгаарду (чувствую себя сказочником каким-то )
так вот, давным давно разработчики аксапты из даамгаарда исповедовали принцип самокомментирующегося кода (см. книги фаулера про рефакторинг) - это когда названия переменных/методов раскрывают суть выполняемых действий, а длина каждого метода невелика и выполняемые действия очевидны.

причем этот принцип исповедовали слишком дословно.
комментарии были. но их действительно было очень мало, только по делу.

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

Поэтому сейчас майкрософт обильно комментирует новые методы. Но при этом зачастую впадает в другую крайность - комментариев много и они бестолковые.

Цитата:
Сообщение от Андре Посмотреть сообщение
Комментарий в коде нужен тогда, когда без него назначение кода не очевидно и не прозрачно. Кода, назначение которого не очевидно, следует избегать и комментарий здесь не лучшее, а наверное, и самое худшее решение.
вот-вот. ап-солютно согласен.
__________________
полезное на axForum, github, vk, coub.