Хотя большинство людей отвечают, что проверки кода - это хороший способ обеспечить высокое качество кода, и по правде говоря, они не кажутся мне прямым стимулом для достижения этого. Однако придумать положительный стимул для хорошего кода сложно, потому что концепция хорошего кода имеет большие области, которые попадают в область мнений, и практически любая система может быть задействована.
На всех работах, которые у меня были, хорошие разработчики были мотивированы на написание хорошего кода. Цыпленок и яйцо, обратная связь, поймать 22, назовите это как хотите, лучший способ получить хороший код - нанять мотивированных разработчиков. Создание среды, в которой хорошие разработчики хотят работать, вероятно, лучший стимул, который я могу придумать. Я не уверен, что сложнее, создать среду или найти разработчиков. Это нелегко, но в долгосрочной перспективе они того стоят.
Я обнаружил, что одна часть создания среды, в которой хотят работать хорошие разработчики, - это обеспечение ситуаций, когда разработчики говорят о коде. Я не знаю опытного программиста, который не ценит хорошую критику своего кода. Это помогает людям, которые хотят быть лучшими, стать лучше. Я считаю, что обзоры кода прекрасно работают как небольшая часть этой работы и, следовательно, косвенный стимул для создания хорошего кода. И да, качество вашего кода также должно получить прямую выгоду.
Еще одна техника, которую мы с коллегами использовали, чтобы рассказать о хороших привычках кодирования, - это групповой обзор кода. Это было менее формально и позволяло людям демонстрировать новые методы, инструменты, функции. Были сделаны критические замечания, слава была публично высказана, и большинство разработчиков, казалось, не возражали выступить перед небольшой группой разработчиков, где они знали всех. Если руководство не видит выгоды в этом, смените деньги и назовите это коричневой сумкой. Девушкам тоже понравится бесплатная еда.
Мы также старались заставить людей ходить на кодовые события. Конечно, в зависимости от того, насколько вы все знакомы с этой темой, вы, возможно, не слишком многому научитесь, но это заставляет людей некоторое время думать о коде и заставляет людей говорить в еще более расслабленной среде. Большинство разработчиков также появятся, если вы предложите выпить раунд или два напитка после этого.
Подождите секунду, я заметил другую тему. Бесплатное питание! Если серьезно, то смысл в том, чтобы создать среду, в которой люди, которые уже пишут хороший код, и те, кто хотят учиться, хотят работать.