HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: java, random, комментарии, аннотации, байткод, лучшая документация к коду - сам код, javadoc, документация, алгоритмы получения случайных чисел, форматирование комментариев, policy для комментариев</p>
1 <p>Теги: java, random, комментарии, аннотации, байткод, лучшая документация к коду - сам код, javadoc, документация, алгоритмы получения случайных чисел, форматирование комментариев, policy для комментариев</p>
2 <p>Давайте сегодня попробуем разобраться: когда комментарии полезны, когда вредны, когда нужно вводить правила написания комментариев и когда вместо комментария лучше использовать аннотации.</p>
2 <p>Давайте сегодня попробуем разобраться: когда комментарии полезны, когда вредны, когда нужно вводить правила написания комментариев и когда вместо комментария лучше использовать аннотации.</p>
3 <p>Начнём с того, что такое комментарий. Комментарий - текст, который есть в коде, но который игнорирует компилятор. В байткоде комментариев нет. Таким образом, комментарии чем-то сродни форматированию. Все наши выравнивания, отступы и переносы строк компилятору не интересны. И форматирование и комментарии помогают читать код, не являясь его частью.</p>
3 <p>Начнём с того, что такое комментарий. Комментарий - текст, который есть в коде, но который игнорирует компилятор. В байткоде комментариев нет. Таким образом, комментарии чем-то сродни форматированию. Все наши выравнивания, отступы и переносы строк компилятору не интересны. И форматирование и комментарии помогают читать код, не являясь его частью.</p>
4 <h2>Здесь уже можно сделать первый важный вывод</h2>
4 <h2>Здесь уже можно сделать первый важный вывод</h2>
5 <p>Комментарий не имеет смысла, если его не прочтут или не поймут при прочтении. При этом, конечно, само наличие комментария, даже совсем непонятного, это сигнал тому, кто смотрит код. Сигнал, что здесь происходит что-то важное. Это важное напрямую из кода понять нельзя и поэтому оставлен комментарий. Это второй момент, на который следует обратить внимание, когда пишете комментарии.</p>
5 <p>Комментарий не имеет смысла, если его не прочтут или не поймут при прочтении. При этом, конечно, само наличие комментария, даже совсем непонятного, это сигнал тому, кто смотрит код. Сигнал, что здесь происходит что-то важное. Это важное напрямую из кода понять нельзя и поэтому оставлен комментарий. Это второй момент, на который следует обратить внимание, когда пишете комментарии.</p>
6 <p>Почему без комментария непонятно? Слишком сложное решение? Неявная зависимость? Преждевременная оптимизация?</p>
6 <p>Почему без комментария непонятно? Слишком сложное решение? Неявная зависимость? Преждевременная оптимизация?</p>
7 <h2>Лучшая документация к коду - сам код</h2>
7 <h2>Лучшая документация к коду - сам код</h2>
8 <p>Если из кода непонятно, что код делает, это очень тревожный сигнал. Комментарии скорее всего не помогут. И в тоже время комментарии в формате<strong>javadoc</strong>очень удобны и полезны в разработке. По своей задумке они не раскрывают ничего нового о классах и методах, которые описывают, а являются документацией. То же самое делает код, но в более удобном для чтения формате.</p>
8 <p>Если из кода непонятно, что код делает, это очень тревожный сигнал. Комментарии скорее всего не помогут. И в тоже время комментарии в формате<strong>javadoc</strong>очень удобны и полезны в разработке. По своей задумке они не раскрывают ничего нового о классах и методах, которые описывают, а являются документацией. То же самое делает код, но в более удобном для чтения формате.</p>
9 <p>Например, если вы знакомы с алгоритмами получения случайных чисел, вы поймете код класса<strong>Random</strong>. Но согласитесь, приятно в документации к классу увидеть:</p>
9 <p>Например, если вы знакомы с алгоритмами получения случайных чисел, вы поймете код класса<strong>Random</strong>. Но согласитесь, приятно в документации к классу увидеть:</p>
10 <p><em>"Ничего не стали придумывать своего, а взяли алгоритм из третьего тома Кнута (мой вольный перевод)..."</em></p>
10 <p><em>"Ничего не стали придумывать своего, а взяли алгоритм из третьего тома Кнута (мой вольный перевод)..."</em></p>
11 <h2>И сразу все становится понятно</h2>
11 <h2>И сразу все становится понятно</h2>
12 <p>Вот мы и затронули тему форматирования комментариев. В<strong>javadoc</strong>формат довольно строгий для того, чтобы по этим комментариям можно было сделать документацию. В разных проектах можно встретить разные "полиси" для комментариев.</p>
12 <p>Вот мы и затронули тему форматирования комментариев. В<strong>javadoc</strong>формат довольно строгий для того, чтобы по этим комментариям можно было сделать документацию. В разных проектах можно встретить разные "полиси" для комментариев.</p>
13 <p>Если все комментарии оформлены одинаково и в заранее понятных участках кода, их проще писать и читать. Если разработчики языка не предложили нам никакой структуры комментариев, добавим её сами.</p>
13 <p>Если все комментарии оформлены одинаково и в заранее понятных участках кода, их проще писать и читать. Если разработчики языка не предложили нам никакой структуры комментариев, добавим её сами.</p>
14 <h2>В качестве заключения</h2>
14 <h2>В качестве заключения</h2>
15 <p>Отметим отдельный вид комментария - аннотации. Да, на мой взгляд, это тоже комментарий. С очень строгим форматированием. И даже с возможностью найти их в байткоде (если соответствующим образом настроить). Но при этом со всем атрибутами комментария: аннотации бессмысленны, если их никто не читает, код должен быть понятен и без аннотаций, следует придерживаться "полиси" по использованию и созданию аннотаций.</p>
15 <p>Отметим отдельный вид комментария - аннотации. Да, на мой взгляд, это тоже комментарий. С очень строгим форматированием. И даже с возможностью найти их в байткоде (если соответствующим образом настроить). Но при этом со всем атрибутами комментария: аннотации бессмысленны, если их никто не читает, код должен быть понятен и без аннотаций, следует придерживаться "полиси" по использованию и созданию аннотаций.</p>
16 <p><em>Есть вопрос? Напишите в комментариях!</em></p>
16 <p><em>Есть вопрос? Напишите в комментариях!</em></p>
17  
17