avva: (Default)
[personal profile] avva
Эта запись будет интересна только программистам.

1. (специально для веб-разработчиков) Прекрасная чашка:



2. Отличная подборка на stackoverflow: What is the best comment in source code you have ever encountered?.

Много хорошего (см. также комментарии на реддит). Отмечу такие шедевры, как

1. try {

} finally { // should never happen

}

2. return 1; # returns 1

3. // I'm sorry.

4. вот этот

Date: 2009-04-20 07:10 am (UTC)
From: [identity profile] arno1251.livejournal.com
Бесткомменты жгут :)

Date: 2009-04-20 07:13 am (UTC)
From: [identity profile] javax-slr.livejournal.com
Когда мы делали проект на ассемблере (ун. Бен Гурион, 1996), мы не успели написать комментарии, что могло сильно повлиять на оценку.

Тогда мы написали программку на Паскале, которая писала комментарии сама.
если видела ADD, добавляла ;ADDING
если видела MOVE, писала ;MOVING

и т.д.

Мы получили 100

Date: 2009-04-20 07:14 am (UTC)
From: [identity profile] avva.livejournal.com
отличная история :)
Edited Date: 2009-04-20 07:15 am (UTC)

Date: 2009-04-20 07:29 am (UTC)
From: [identity profile] spamsink.livejournal.com
Что-то с нумерацией: после пункта 2. снова пункт 1. :)

Date: 2009-04-20 07:31 am (UTC)
From: [identity profile] avva.livejournal.com
вложенный список :)

Date: 2009-04-20 07:32 am (UTC)
vinsent_ru: (Default)
From: [personal profile] vinsent_ru
options.BatchSize = 300; //Madness? THIS IS SPARTA!

Ухахаха :))

Date: 2009-04-20 07:34 am (UTC)
vinsent_ru: (Default)
From: [personal profile] vinsent_ru
long long ago; /* in a galaxy far far away */

Гыыыы :)) Парвало

Date: 2009-04-20 07:42 am (UTC)
From: [identity profile] vladimirgin.livejournal.com
Разбирал один код, и мне понравился там один кусочек , точнее, наименование объекта в нем. Было это примерно так:
try
{
...
}
catch ( Exception HoustonWeHaveAProblem )
{
writeLog( HoustonWeHaveAProblem.ToString() );
}

Date: 2009-04-20 07:43 am (UTC)
From: [identity profile] utnapishti.livejournal.com
Помнится, один наш общий знакомый рассказывал, как он (в институте, ещё в России) дал одной девушке скопировать программу - домашнее задание, и её на этом поймали, так как она не стёрла комментарий "Я - конь-огонь".

Date: 2009-04-20 07:44 am (UTC)
From: [identity profile] spamsink.livejournal.com
Ты знаешь, что в Алголе нельзя было писать if condition1 then if condition2 then ... else... ? Так же и тут - неоднозначность вложенности пунктов 3. и 4.

Date: 2009-04-20 07:48 am (UTC)
From: [identity profile] vladimirgin.livejournal.com
Кстати, о комментах. Буквально на днях задумался над этим (ибо надо было дебаггировать очередной чужой код) и вдруг понял, что на моей текущей фирме ПРАКТИЧЕСКИ НИКТО не пишет их (кроме меня). На прошлой фирме писали максимум процентов 20% народа. И это меня угнетает - неужели это я такой тупой, что мне необходимо писать комментарии хотя бы для того, чтобы не было проблемой разобраться в собственном коде через полгода?..

Так что интересно - а как у вас, принятно писать их

Date: 2009-04-20 07:50 am (UTC)
From: [identity profile] javax-slr.livejournal.com
Код должен быть понятен без комментов.

Пишем много javadoc - заголовки методов и классов, чтобы объяснить что метод делает, когда и что возвращает.

Внутри кода у нас почти нет комментов

Date: 2009-04-20 08:00 am (UTC)
From: [identity profile] vladimirgin.livejournal.com
Ну, я не пишу на java, поэтому javadoc не актуально. Насчет "Код должен быть понятен без комментов" в принципе соглашусь, если это не подразумевает, что надо отказаться от комментов как класса. Зачастую они необходимы. Хотя бы для того, чтобы дать понять, как именно этот кусок кода связан с предметной областью.

Date: 2009-04-20 08:04 am (UTC)
From: [identity profile] javax-slr.livejournal.com
Комменты для public API
Комменты для сложных алгоритмов и вычислений
Комменты в условиях
if (parent == null) { // happens for empty data sets

В других местах если хорошие имена переменных и методов - редко нужно

Date: 2009-04-20 08:10 am (UTC)
From: [identity profile] vladimirgin.livejournal.com
К этому нет вопросов, примерно такую же policy и я применяю.

Date: 2009-04-20 08:13 am (UTC)
From: [identity profile] reut.livejournal.com
ааааа, класс! спасибо. :)

Date: 2009-04-20 08:16 am (UTC)
From: [identity profile] yms.livejournal.com
насчет комментов - там высказана очень здравая идея по поводу google codesearch. адаптирую её:
http://www.google.com/codesearch?q=%D0%BF%D0%B8%D0%B7%D0%B4%D0%B5%D1%86

Date: 2009-04-20 08:24 am (UTC)
alon_68: (Default)
From: [personal profile] alon_68
Вы не тупой.
Вы зануда :)

Date: 2009-04-20 08:41 am (UTC)
From: [identity profile] savvich.livejournal.com
Exception up = new Exception("Something is really wrong.");
throw up; //ha ha

Ха ха ха

Date: 2009-04-20 08:51 am (UTC)
alon_68: (Default)
From: [personal profile] alon_68
О, какой класс! :)))
Немало вполне знакомых ситуаций :)

Date: 2009-04-20 09:05 am (UTC)
From: [identity profile] cema.livejournal.com
Чашка правильная.

Date: 2009-04-20 09:08 am (UTC)
From: [identity profile] cema.livejournal.com
Хм, пожалуй.

Date: 2009-04-20 09:16 am (UTC)
From: [identity profile] mikev.livejournal.com
А что сейчас вместо CSS полагается использовать?

Date: 2009-04-20 10:28 am (UTC)
From: [identity profile] putj.livejournal.com
Кружка хороша.)

Date: 2009-04-20 10:34 am (UTC)
From: [identity profile] cema.livejournal.com
Сейчас полагается его использовать с умом. Впрочем, см. пункты про комментарии.

Date: 2009-04-20 10:59 am (UTC)
From: [identity profile] mochalkina.livejournal.com
о да. ;-)

Из своего опыта - в одной программе у меня образовался примерно следующий коммент:

// this line was changed on 23.03.2002.
// ... but what for? I don't remember. 30.09.2005

Date: 2009-04-20 11:00 am (UTC)
From: [identity profile] arno1251.livejournal.com
Прелестно :)

Date: 2009-04-20 11:08 am (UTC)
From: [identity profile] dimrub.livejournal.com
Мне очень понравилась чашка, которую я видел у Вагифа:

Cup<T>

Я серьезно подумываю такую себе заказать. Но твоя тоже хороша для тех, кто много с веб-дизайном трахается.

Date: 2009-04-20 11:10 am (UTC)
From: [identity profile] dimrub.livejournal.com
> Ну, я не пишу на java, поэтому javadoc не актуально.

RTFM: Doxygen.

Date: 2009-04-20 01:38 pm (UTC)
From: [identity profile] shure.livejournal.com
const long* getPtr() {
return &*m_vect.begin(); /* sorry, stepanov */
}

Date: 2009-04-20 01:48 pm (UTC)
From: [identity profile] megla.livejournal.com
eto i est komentarii :)

Date: 2009-04-20 05:09 pm (UTC)
From: [identity profile] flaass.livejournal.com
> /* You are not meant to understand this */
Однажды я стал виновником почти такого же комментария.
Делали генерацию переходов. Проблема была, что длина команды JMP зависит от длины прыжка, которая в том числе зависит от длин команд JMP. Я сочинил что-то и диктовал (на русском), а друзья-программеры синхронно переводили на Модулу.
Перевод заработал, но после его прочтения они добавили комментарий: "DONT change anything! Flaass knows why it works"

Date: 2009-04-20 05:16 pm (UTC)
From: [identity profile] ygam.livejournal.com
Я несколько лет назад учил юного индийца программистскому уму-разуму на примере такого нарочито бесполезного комментария:

k++; // Increment k.

Date: 2009-04-20 05:45 pm (UTC)
From: [identity profile] alex-inside.livejournal.com
АААА. Я в осадок выпал от чашки!!!

Date: 2009-04-22 05:53 am (UTC)
From: [identity profile] olegstepanov.livejournal.com
http://msmvps.com/blogs/brianmadsen/archive/2009/04/21/funniest-code-comment-ever.aspx

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 04:00 pm
Powered by Dreamwidth Studios