mbla: (Default)
[personal profile] mbla
У наших студентов на пятом курсе полугодовая стажировка.

Найти стаж обычно просто - всем хочется получить готового инженера по дешёвой цене - платят стажёрам, естественно, мало.

Обычно ребят берут разработчиками на конкретные проекты.

После окончания стажировки - защита - в комиссии кто-то от нас и руководитель стажа "с места". Иногда руководитель с места по тем или иным причинам отсутствует и вместо себя присылает оценочную бумагу.

Сегодня у меня "защищал" свою работу мальчик, у которого страсть - интеллектуальные компьютерные игры. Ему удалось найти соответствующий стаж. В компании, которую 5 лет назад организовали двое братьев - совсем молодые ребята - были у них какие-то идеи, взяли кредиты. Сейчас в компании шестеро, естественно, друзья-сокурсники. Такие маленькие фирмы, по крайней мере во Франции, всегда дружеские тусовки.

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

Первое - понятное - функция должна умещаться на экране - не умещается - разбивай.

А вот второе меня поразило - комментарии запрещены. Идея в том, что комментарии позволяют писать нечётко, - дескать, прочтёт человек комментарий и всё поймёт, а на самом деле, ежели код хорошо написан, он должен быть полностью понятен при чтении с листа.

Это правило, естественно, совершенно противоречит правилам, которым учат на первом курсе, когда за отсутствие комментариев аж оценку снижают.

Как по-вашему?

Date: 2005-09-22 08:32 am (UTC)
From: [identity profile] clement.livejournal.com
Я бы сказал, что комментарии нужны постольку поскольку они описывают пре- и постусловия, и инварианты. Но я, опять, же из текх, кто, согласно старому анекдоту, не только не умеет программировать, но и не умеет учить программировать.

Date: 2005-09-22 08:41 am (UTC)
andrzejn: (Default)
From: [personal profile] andrzejn
Мне больше нравится идея, что эти условия и инварианты лучше оформлять в виде assert'ов, чтобы не только программисты их читали, но и при исполнении их нарушение контролировалось. В комментарии выносить разве что те условия, которые проверяются недопустимо долго.

Date: 2005-09-22 08:50 am (UTC)
From: [identity profile] clement.livejournal.com
Если язык поддерживает эти assert, то да, конечно.

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

Date: 2005-09-22 08:54 am (UTC)
andrzejn: (Default)
From: [personal profile] andrzejn
В условиях цейтнота - да, лучше хоть что-то.
Хотя цейтнот уже сам по себе порождает больше проблем и ошибок, чем все неверные правила программирования. Но это уже заботы прожект-менеджеров.

Date: 2005-09-22 08:56 am (UTC)
From: [identity profile] clement.livejournal.com
цейтнот уже сам по себе порождает больше проблем и ошибок, чем все неверные правила программирования

Кто бы с этим спорил ;-)

Date: 2005-09-22 09:02 am (UTC)
andrzejn: (Default)
From: [personal profile] andrzejn
Заказчики и высшее руководство ;)

Date: 2005-09-22 09:10 am (UTC)

Date: 2005-09-22 02:50 pm (UTC)
From: [identity profile] kot-ivanovich.livejournal.com
В промышленном программировании цейтнот всегда. Я годами пытаюсь внушать подчинённым, что это не повод писать небрежно — так мы только теряем больше времени.

Date: 2005-09-22 03:42 pm (UTC)
From: [identity profile] clement.livejournal.com
Это тоже верно, но ведь, насколько я понимаю, ошибки попадают в текст не всегда по небрежности, но по отсутствию времени на думание над тем, что пишешь.

Date: 2005-09-22 03:51 pm (UTC)
From: [identity profile] kot-ivanovich.livejournal.com
Конечно. Но я же не про ошибки, я про то, что человек "не успевает" длинную функцию разбить на куски или придумать для функции понятное имя или скобки читабельно расставить. Или делает copy & paste пятнадцать раз...

Date: 2005-09-22 04:53 pm (UTC)

Date: 2005-09-22 11:00 am (UTC)
From: [identity profile] mbla.livejournal.com
Так я тоже, в том-то и дело.
На самом деле, у кота иваныча (выше) очень убедительно получилось.

Date: 2005-09-22 11:56 am (UTC)
From: [identity profile] clement.livejournal.com
Да, но там пре, пост и инварианты очевидны, что, естественно, далеко не всегда так - по крайней мере, в тех коммерческих программах чей код я видел...

January 2023

S M T W T F S
1 234567
89101112 13 14
151617 1819 2021
222324252627 28
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

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