Many thanks to Tristan Morris for creating a beautiful illustrated hardcover print edition of the site

tcc-case-title
умеренно geeky  умеренно geeky

Случай 113

Чёрная овца

(Sorry, this page has not been translated by the translator you selected.)

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

“Что Вы пробовали?” - спросила монахиня.

“В каждую келью я положил копию документа Стандарты и Опыт Применения”, - сказал монах. “Каждое утро я посылаю ссылки на статьи по разработке программного обеспечения, а каждый вечер я просматриваю код. Но ничего не меняется. Каждый монах совершает те же ошибки, что и накануне, а код становится всё уродливее”.

Жинг опираясь на посох рассеянно смотрела вдаль.

Наконец она сказала: “Пастух не может сдвинуть стадо; только овца может сделать это”.

Старший монах нахмурился: “Я не понимаю”.

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

Старший монах сложил руки на груди и в сомнении остался на вершине холма: “Даже если я смогу исправить одного монаха, почему клан последует за ним, если они не следуют за мной?”

“Фу”, - сказала Жинг, бросая камень в коллегу. “Не монахов Вы должны пасти, а код. Некоторые из монахов делают шаги вперёд к цели, но большинство просто следуют тому, что было раньше. IDE одного монаха сгенерирует простой шаблон метода, второй монах скопирует готовый метод по всему классу, третий сохранит класс под другим именем в своих целях”…

Монахиня добралась до чёрнолицего барана и погладила его окровавленное ухо. “Ваш код является заблудшей овцой”, - сообщила она старшему монаху. - “Исправьте его и лень ваших монахов станет большим достоинством”.