[devel] Как не надо писать спеки

Денис Смирнов mithraen at altlinux.ru
Sun Oct 11 11:00:11 UTC 2009


On Sun, Oct 11, 2009 at 11:53:23AM +0400, Kharitonov A. Dmitry wrote:

KAD> Здесь вы заблуждаетесь. В ВТ принято считать красивым, то что нормальный 
KAD> не поймёт вообще ибо это трудно читаемо и трудно понимаемо. Но тот кто 
KAD> это всё-таки поймёт -- воскликнет СУПЕР! и коллегам будет рассказывать 
KAD> целую неделю.

Безусловно, чтобы понять код -- нужно быть специалистом. Тем самым вы
подтверждаете мою мысль что чувство красоты в IT приходит с опытом.

KAD> Пример не очень удачный, но зато показательный:
KAD> заполнение младших бит числа единицами до первой единицы:
KAD> n=0b00100000;
KAD> r=(n-1)|n;
KAD> Заменяет примерно такое:
KAD> n=0b00100000;
KAD> r=n;
KAD> for (t=0;t<sizeof(n)*8;t++) {
KAD>   if(n&(1<<t)) break;
KAD>   r|=(1<<t);
KAD> }
KAD> только вот смысл простого выражения без моего комментария дошёл бы 
KAD> только до единиц. А цикл понятен практически всем.

Безусловно, это зависит от образования. Первый кусок кода мне был понятен
сразу же, а кусок с циклом я сходу не прочитал :)

KAD> За исключением последней строчки -- очень красиво. Говорю как дизайнер.
KAD> Это вам скажет практически любой нормальный человек. Чтобы это понять 
KAD> надо чаще посещать музеи.

Боюсь что код оценивается в первую очередь с функциональной точки зрения,
а уже во вторую -- с точки зрения визуальной эстетики.

KAD> Я про красоту своего кода ничего не заявлял. Я заявлял только, что код 
KAD> вполне легальный -- и это правда.

Да, именно так. Однако не любой легальный с точки зрения инструментов код
-- корректен. C компилятор съест код, который не будет работать, или будет
работать некорректно.

>>> Ну а если не качественно -- те ошибок-то нет -- подскажите как повысить 
>>> качество.
>> Исправить то, что вас просят исправить в этом треде.
KAD> Там далеко не всё нужно исправлять.

Не все _обязательно_. Но все указанные изменения сделают spec лучше.

KAD> Эти люди только лишь высказывали своё частное мнение, не объясняя 
KAD> ничего, а как поступать с этой информацией -- это моё личное дело.

Вся проблема в том, что частное мнение этих людей из-за их опыта весит
достаточно много, чтобы после этого частного заявления разумный человек
сам полез бы в документацию и попытался понять почему они правы, а уж
потом спорил бы :)

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20091011/81d120d9/attachment.bin>


More information about the Devel mailing list