понедельник, 25 августа 2014 г.

Интервью с Робертом C. Мартином по мотивам книги "The Clean Coder: A Code of Conduct for Professional Programmers"

The only way to go fast, is to go well
Robert C. Martin














Наткнулся на интервью Дяди Боба по мотивам его книги "The Clean Coder: A Code of Conduct for Professional Programmers"

Понравившиеся выдержки из Части 1

Говорите "Нет" вместо "Я попробую".
Вопрос здесь не о том, врать или говорить правду. "Я попробую" - это, в какой то степени, коварная ложь, потому это одновременно и правда.
Если ты говоришь "я попробую", то ты конечно попробуешь. Но, к сожалению, маловероятно, что твое поведение изменится потому, что ты сказал "попробую". А скорее всего ты продолжишь делать то, что и делал до этой фразы. А слова подразумевали какое то изменение. И в этом ложь.
Почему мы говорим эту ложь? Для того, чтобы закончить дискуссию, если она нам некомфортна. И мы говорим что то бессмысленное типа "попробую" в надежде уйти от этого дискомфорта. Это эгоистично, по-детски и непрофессионально.

Про тестировщиков
Любые тесты, которые могут быть запрограммированы - должны быть автоматизированы. Нам не нужно, чтобы люди делали то, что может делать машина. А нужно нам, чтобы тестировщики занимались эксплоративным (исследовательским) тестированием.
Роль QA превращается из проверяющей в специфицирующую. Теперь QA должны интерпретировать бизнес-требования в спецификацию поведения системы.

Про оценку или как менеджеры могут быть уверены, что разработчики не добавляют слишком большой запас к их оценкам.
Прямой ответ - менеджеры должны ожидать этот запас, если они хотят получить обязательства (commitments). А если они просят оценку (estimates), то они должны ожидать неопределенность (uncertainty). Другого не дано.

Из части 2

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

Лучший способ измерить качество кода
Лучший тест для качества кода - это удовлетворенность пользователя (заказчика). При этом мы говорим о двух формах такой удовлетворенности: удовлетворенность в настоящее время и на протяжении какого то продолжительного срока

PS книжка уже в моей антибиблиотеке (что это), ждет очереди.

2 комментария:

  1. Многие идеи выглядят спорно; вероятно оттого, что вырваны из окружающего контекста.


    В целом темы такие холиварные, что даже комментировать боязно.
    Тем более что каждый из этих советов/мнений вполне разумен и работоспособен в определенных ситуациях.


    Но по одному пункту не могу удержаться: впечатляет отождествление интровертов с одиночками и подспудные намеки, что только они могут не согласиться с правилами команды. Столько багов в одном небольшом абзаце, прям не знаешь, за какой хвататься первым. [смайлик]

    ОтветитьУдалить
  2. :) искренне надеюсь, что комменты к оригинальному интервью. А не к моему творческому переводу.
    Ну, а насчет провокационности - да есть такое. Вообще, Мартин часто использует этот прием.

    ОтветитьУдалить