Цитаты из книги Р. Мартина “Идеальный программист”
- Профессионализм — это ответственное отношение к делу
- Первое правило: не навреди
- Это верный признак настоящего профессионала — умение отвечать за свои ошибки, появление которых практически неизбежно. Итак, мой начинающий профессионал, прежде всего научитесь извиняться. Извинения необходимы, но недостаточны. Нельзя просто совершать одни и те же ошибки снова и снова.
- Было бы в высшей степени непрофессионально передавать на контроль качества заведомо дефектный код. А какой код является заведомо дефектным? Любой, в качестве которого вы не уверены!
- Каждый раз при работе с модулем следует понемногу совершенствовать его структуру. Каждое чтение кода должно приводить к доработке структуры.
- Горе тому разработчику, который доверит свою карьеру своему работодателю!
- Профессионалы не жалеют времени на совершенствование в своей профессии.
- Минимальный список тем, в которых должен разбираться каждый разработчик: Паттерны проектирования, Принципы проектирования, Методы (XP, Scrum etc), Дисциплины, Артефакты (UML, DFD etc).
- Непрерывное обучение.
- Профессионалы тренируются. Настоящие профессионалы прилежно работают над тем, чтобы их навыки были постоянно отточены и готовы к применению.
- Самый лучший способ чему-то научиться — учить других.
- Профессионалы берут на себя персональную ответственность за обучение новичков. Они не бросают новичков, предоставляя им самим решать свои проблемы.
- Худшая разновидность непрофессионализма — просто программировать по спецификации, не понимая того, почему эта спецификация подходит для решения своей задачи. Вы должны обладать достаточными познаниями в предметной области для того, чтобы распознать и исправить возможные ошибки в спецификации.
- Профессионал не может быть робким.
- Профессионалы говорят правду облеченным властью. У них достаточно смелости, чтобы сказать «нет» своим начальникам.
- Искушение «быть героем» и «решать проблемы» велико. Однако все мы должны понять, что отказ от профессиональных принципов не решает проблемы, а создает их.
- Лишь очень немногие люди, обещая что-то, ответственно относятся к своим словам и делают то, что обещали. Некоторые говорят и даже искренне собираются выполнить обещание, но ничего не делают. Гораздо больше людей, которые обещают, совершенно не собираясь чтото делать.
- Многолетний практический опыт учит нас тому, что нарушение правил только замедляет работу.
- Профессионалы знают границы своих возможностей. Они знают, какой объем работы они могут выполнить сверхурочно, и знают, чем за это придется расплачиваться.
- И во всех случаях ключом к мастерству была уверенность в себе и «чувство ошибки».
- Работа без сосредоточенности — напрасная трата времени.
- Если вы устали или не можете сосредоточиться — не пишите код. Все равно написанное придется переделывать. Лучше подумайте, как устранить отвлекающие факторы и обрести душевное равновесие.
- Помню, я очень гордился своей многочасовой работой. Помню, мне казалось, что работать в 3 часа ночи — удел настоящего профессионала. Как же я ошибался!
- Не пишите код, когда вы устали. Преданность делу и профессионализм проявляются в дисциплине, а не в продолжительности работы. Обязательно следите за сном, здоровьем и образом жизни, чтобы вы могли ежедневно посвятить работе восемь хороших часов.
- Избегайте Зоны.
- Музыка не помогает мне сосредоточиться. Более того, на само прослушивание расходуются ресурсы, необходимые моему мозгу для написания чистого, хорошо спланированного кода.
- Если я слишком мало сплю, то я просто не могу программировать. Также важную роль играют беспокойство, страх и депрессия.
- Я читаю много книг на разные темы. Я читаю материалы по программированию, политике, биологии, астрономии, физике, химии, математике и многим другим темам. Однако я обнаружил, что мои механизмы творческой работы лучше всего активизирует научная фантастика. Для вас это может быть что-то другое.
- Вы как профессионал обязаны стремиться по возможности приблизить время отладки к нулю.
- Программирование — марафон, а не спринт. Невозможно выиграть забег, набрав максимальную скорость на старте. Побеждает тот, кто бережет силы и разумно выбирает темп.
- Если вы зашли в тупик, если вы устали — отвлекитесь на время. Дайте своему творческому подсознанию отдохнуть от задачи. Внимательно относясь к своим ресурсам, вы сделаете больше за меньшее время и с меньшими усилиями. Сами определяйте темп работы для себя и своей группы. Изучите свои закономерности проявления творческих способностей и озарений и используйте их вместо того, чтобы подчинять насильно.
- Вы упускаете элегантные решения, потому что творческая часть вашего разума подавляется излишней сосредоточенностью. Иногда лучшее решение задачи — пойти домой.
- Надежда убивает проекты. Надежда срывает графики и рушит репутации. Надежда навлечет на вас большие неприятности.
- Спешка бессмысленна. Вы не заставите себя программировать быстрее. Вы не заставите себя быстрее решать задачи. А если попытаетесь — вы только замедлите работу и устроите хаос, который замедлит работу других.
- Худший из всех видов непрофессионализма со стороны программиста — это попытка выдать недоделку за готовый продукт.
- Cледует поручить бизнес-аналитикам и специалистам по тестированию создать автоматизированные приемочные тесты1, без прохождения которых продукт не может считаться готовым.
- Ответственные программисты должны быть готовы помогать друг другу. Программист, который изолируется в своем офисе или кабинке и отказывается отвечать на вопросы других, нарушает профессиональную этику.
- Профессионализм обязывает вас не только предлагать, но и принимать предложенную помощь. Научитесь просить о помощи.
- Три закона TDD: Новый рабочий код пишется только после того, как будет написан модульный тест, который не проходит. Вы пишете ровно такой объем кода модульного теста, какой необходим для того, чтобы этот тест не проходил (если код теста не компилируется, считается, что он не проходит). Вы пишете ровно такой объем рабочего кода, какой необходим для прохождения модульного теста, который в данный момент не проходит.
- Ни один профессиональный разработчик не станет применять методологию, которая в конкретной ситуации приносит больше вреда, чем пользы.
- Профессиональные программисты часто страдают от однообразия решаемых задач. Если вы не позаботитесь о расширении собственного кругозора, это может привести к нежелательному сужению резюме и менталитета.
- Приемочные тесты всегда должны быть автоматизированными.
- Любой группе профессиональных разработчиков нужна хорошая стратегия тестирования.
- Профессионалы знают, что встречи обходятся дорого. Они также знают, что их собственное время драгоценно; им нужно писать код и выдерживать график. По этой причине они активно сопротивляются посещению встреч, которые не приносят немедленной и значительной пользы.
- Eсли на встрече стало скучно — уходите.
- «Любой спор, который не удается завершить за 5 минут, не может быть решен обсуждением» К. Бек
- Профессионал спокоен и решителен, даже когда он находится под давлением.
- Не изменяйте свое поведение в напряженной ситуации. Если ваши методы действительно оптимальны, то они должны соблюдаться даже в самые тяжелые времена.
смотрите еще Цитаты из “Совершенный код” С. Макконнелла