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

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

Случай 113

Чёрная овца

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

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

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

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

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

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

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

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

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

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