kika: (Default)
[personal profile] kika
Для тех кто не в курсе, это такая довольно глючная и дорогая как самолет фигулина, которая из MS Visual Studio делает бледное подобие Эклипса или IDEA.
Не прошло и пяти лет как НебитыеПомидоры изобрели рефакторинг. Сижу, читаю про этот рефакторинг, и в конце там есть абзац про то что VAX нынче умеет автоматично документировать методы. То есть по нажатию кнопули генерит что-то типа

Я вот второй день пытаюсь понять - а зачем это? Вот что такого написано в первых 10-ти строчках, чего не написано в 11-ой? Разве что квалификатор public. Вообще, люди, которые называют это "документированием кода" и придумали такую "документацию", они как, головным мозгом оснащены или все же конструкцией не предусмотрено? Типа как поворотники у Волги?

UPD: Имеет место быть непонимание. Я знаю зачем нужна документация хотя бы на "экспортируемый" код и вообще знаю зачем нужно документировать. И я сам пользуюсь частично автоматично сгенерированной документацией (Qt). Я не это спрашивал. Я спрашивал зачем нужна конкретно вот эта вот (ну или аналогичная) хуйня, которую генерирует VAX в виде якобы заготовки документации. Информационно он мог бы генерировать /* */ и это было бы ровно тоже самое.

Date: 2006-10-04 10:45 pm (UTC)
From: [identity profile] dz.livejournal.com
Я туплю - ты javadoc-ов не видел????

Date: 2006-10-04 11:06 pm (UTC)
From: [identity profile] kika.livejournal.com
Видел, и что? Я их видел миллион, но при этом не получил никакой полезной информации. Это если усреднить. То есть на N раз когда я что-то вычитывал полезное из явадока приходится примерно N раз когда я вычитывал полезное, а потом выяснялось что это полная хуйня и этот явадок отстал от реализации на год. Я код читаю даже быстрее чем индусско-русский английский, так что вопрос остается: зачем это надо?

Программа - живое существо. Зачем в живое существо натыкивать мертвого пластика? Пластик не растет и не изменяется, а программист вместо программирования начинает заниматься литературным трудом. Об отличиях одного от другого, кстати, написал только что Грэм.

Представим себе что мы живем в доме, где на каждом архитектурно-инженерном элементе написано что это такое. Пол, стена, балка, унитаз, петля, ручка, розетка и т.д. Интересно, психически уравновешенный человек долго продержится? И это ведь еще облегченный вариант, по-настоящему должно быть "стена 4х3м с пятью дырками 8мм на высоте 1.5м от [a href=floor.doc]пола[/a], etc, etc, etc". И про просверливании дырки под картинку надо было бы пройти по цепочке и проапдейтить все описания.

Date: 2006-10-05 08:47 am (UTC)
From: [identity profile] dz.livejournal.com
Ну, как бы, наличие явадока не мешает лазить в код, в принципе. А отставание его от кода - тоже большой и интересный вопрос - по хорошему, если меняется не _реализация_ (это не требует апдейта описания) а _суть_ метода, то хорошо бы делать другой метод. То есть тут, по идее, не док виноват.

Я понимаю и в целом разделяю твою позицию, но это некоторый максимализм. Есть вещи, которые не укладываются ни в название метода, ни в список параметров, ни в ассёрты. Да и просто искать там по коду, с какого бодуна оно кидает эксепшн X - не фонтан.

Date: 2006-10-05 12:57 pm (UTC)
From: [identity profile] kika.livejournal.com
> Ну, как бы, наличие явадока не мешает лазить в код, в принципе.

Здрасьте, не мешает. Hot fucking news.
Смотрим опять на скриншот. Коэффициент полезного действия 1/11ая, меньше 10%. Это конечно передерг, потому что кода там ровно одна строчка, но у меня регулярно встречаются методы по 10-15 строк, на которых КПД использования screen estate получается чуть больше 50%. Я понимаю что современные редакторы, специально приспособленные для таких уебков-программистов, имеют режим скрывания комментариев. Это отлично же! Сначала автоматично пишем, потом скрываем и никогда больше не показываем. А читает это только опять автоматичный скрипт, который генерирует документацию, которую уже совсем никто не читает, потому что ничего полезного там не написано (ибо некем). Зато, бля, индустриально произведенный код! Не выебем, так хоть согреемся.

> если меняется не _реализация_ (это не требует апдейта описания) а _суть_ метода, то хорошо бы делать другой метод.

ОК, меняется реализация. Например метод sort(). Сортирует bidirectional iterator. Тут мы меняем немного алгоритм и наш сорт() теперь требует рандом итератор. Че, назовем его randomSort(), да?

И вообще, ты что, на самом деле пишешь в комментарии почему метод кидает эксепшн? А в код ты при этом это писать не забываешь? Я б точно забыл. Я пишу в код, а если мне хочется узнать когда оно это бросает я набираю в редакторе /throw X
Еще раз - я плохой английский читаю медленнее чем даже плохой С++. Думаю что и хороший английский тоже.

Date: 2006-10-05 08:39 pm (UTC)
From: [identity profile] dz.livejournal.com
фиг его знает, как оно там у вас в С++... я, признаться, редко пользуюсь итераторами. Очень... А эксепшны - да, документирую. Но не в коде - там обычно действительно очевидно.

Profile

kika: (Default)
kika

January 2017

S M T W T F S
1234567
89 1011121314
151617181920 21
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 16th, 2026 09:44 pm
Powered by Dreamwidth Studios