Рубріки: Новости

Тест Джоэла: 12 вопросов, чтобы узнать, хороший ли код вы пишете

Богдан Мирченко

Тест был создан и опубликован более 20 лет назад. Его создателем считается Джоэл Спольски — основатель всем известного сайта StackOverflow. 

Тест состоит из 12 шагов для улучшения кода и оценки качества команды. Максимальный балл — 12 ответов «да». Вот эти вопросы. 

Пользуетесь ли вы системой контроля версий?
Можете ли вы собрать продукт за один шаг?
Выполняете ли вы ежедневные билды?
Используете ли вы базу данных ошибок?
Исправляете ли вы ошибки перед написанием нового кода?
Есть ли у вас актуальный план работ?
Есть ли у вас спецификация?
Предоставлены ли вашим программистам спокойные условия для работы?
Используете ли вы для работы лучшие из имеющихся инструментов?
Есть ли у вас тестеры?
Пишут ли кандидаты на работу код во время собеседования?
Проводите ли вы коридорное тестирование удобства использования программ?

Разработчик Милош Живкович решил пройти тест Джоэла спустя более чем 20 лет после его публикации, чтобы узнать, что изменилось за это время в разработке, актуален ли тест до сих пор и помогает ли лучше писать код. Также автор советует разработчикам почитать блог Джоэла Спольски, называя его «музеем программной инженерии».

Вот как ответил на вопросы теста Милош Живкович.

1. Пользуетесь ли вы системой контроля версий? — Да.

По его мнению, в настоящее время невозможно работать без системы контроля версий. Контроль версий 2000-х годов, когда был разработан тест, похож на Team Foundation Server от Microsoft, а теперь у разработчиков есть Git.

2. Можете ли вы собрать продукт за один шаг? — Да.

Мы строим проекты в Jenkins, а конвейеры CI/CD помогают тестировать. 

Как сказал создатель теста: чем дольше длится сборка, тем больше времени тратится зря.

3. Выполняете ли вы ежедневные билды? — Да.

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

Сомневайтесь, никогда никому не доверяйте, создавайте проект и выполняйте постоянные развертывания. Если пишете на Java, изучите Jenkins.

4. Есть ли у вас база данных ошибок? — Да.

Для отслеживания ошибок Милош Жикович предпочитает Jira. 

Джоэл составил список атрибутов, которые нужно учитывать для каждой ошибки. Они похожи на тикет в Jira. 

  • Шаги, которые воспроизводят ошибку;
  • Ожидаемое поведение;
  • Реальное поведение;
  • Кто взял ошибку в работу;
  • Исправлена она или нет.

5. Исправляете ли вы ошибки перед написанием нового кода? — Да.

Милош Живкович объясняет это тем, что чем дольше команда не исправляет ошибки, тем дороже (по времени и деньгам) ее исправить потом.

6. Есть ли у вас актуальный план работ? — Да.

Команда Милоша Жиковича практикует гибкую разработку — Scrum или Kanban.

7. Есть ли у вас спецификация? — Да.

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

Автор теста написал много о спецификации здесь.

8. Предоставлены ли вашим программистам спокойные условия для работы? — Вроде да.

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

Беседы с коллегами ни о чем

9. Используете ли вы для работы лучшие из имеющихся инструментов? — Да.

В 2000-х GUI был прорывом, считает Милош Живкович, теперь же разработчики воспринимают его как должное. Программное обеспечение дошло до стадии, когда чтобы работать, нужно просто набирать код.

10. Есть ли у вас тестеры? — Да.

В компании Милоша Живковича практикуют ручное и автоматическое тестирование. Это помогает создавать стабильное и надежное программное обеспечение. Джоэл Спольски уверен, что тестировщики нужны, потому что нет смысла заставлять программистов за $100 в час выполнять работу, которую могут выполнить тестеры за $30.

11. Пишут ли кандидаты на работу код во время собеседования? — Да.

По словам Милоша Живковича, у него была стажировка, где он создавал два проекта с нуля. Это позволило ему продемонстрировать свои навыки, компания увидела потенциал соискателя и взяла его на работу.

12. Проводите ли вы коридорное тестирование удобства использования программ? — Да. Иногда.

Из-за работы на «удаленке» команда Милоша Живковича сильно рассредоточена. Но раньше, до пандемии, обсуждения положительных и отрицательных моментах проекта происходили постоянно.

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023