Как объяснить хакеру из средней школы, что отступы и подробные имена переменных - это хорошо? - PullRequest
0 голосов
/ 10 февраля 2009

Он хороший программист (выиграл несколько соревнований), но он абсолютно игнорирует форматирование. Он считает меня, j, k красивым ... Надеюсь, он не узнает о существовании ключевого слова goto.

Ответы [ 14 ]

0 голосов
/ 10 февраля 2009

Я почти уверен, что вы можете неправильно настроить beautifier кода, чтобы представить такой ужасный результат. Обфускаторы распространены и делают по сути одно и то же (короткие бесполезные имена переменных, без отступов, плохое использование пробелов).

Дайте ему задание взять существующую программу с его стилем и добавить тривиальную функцию.

Кроме того, возьмите код, который он написал 6 или более месяцев назад, и дайте такое же назначение.

-Adam

0 голосов
/ 10 февраля 2009

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

Дайте ему проект, полный беспорядочного неформатированного плохо названного кода, и позвольте ему страдать. Поощряйте его работать над проектом с большой кодовой базой и позвольте ему увидеть, насколько хорошо он запоминает собственные имена переменных после 1000-го исходного файла.
0 голосов
/ 10 февраля 2009

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

Если парень не делает этого ни для себя, ни для вашего проекта, значит, у вас есть такой парень. Покажите ему несколько документов по политике стиля исходного кода. Объясните, почему это важно.

Вы начинаете использовать правильное соглашение об именах после того, как у вас есть некоторый опыт, и вы видите, как и почему это было полезно. Без опыта это просто отвлеченный разговор.

P.S. Иногда я зацикливаюсь на именах переменных, потому что я не уверен, соответствует ли это конкретное имя общему лингвистическому стилю, который я использую в текущем проекте, или как имя масштабируется на языке высокой литературы. Проблема использования bool b1 против bool IsSomePropertyAvailable никогда не возникала с первых лет обучения в университете.

0 голосов
/ 10 февраля 2009

Хорошо, если он планирует сделать это для жизни, просто объясните, что у него будет очень тяжелая жизнь в реальной команде, если он хотя бы не приложит некоторые усилия, чтобы следовать стандартам команды. Если он не планирует зарабатывать на жизнь, не беспокойтесь об этом.

Вы также можете определить, есть ли кто-то, кем он восхищается. Если есть, то вполне вероятно, что они следуют стандартам.

...