Роберт Мартин - Идеальный программист. Как стать профессионалом разработки ПО
- Название:Идеальный программист. Как стать профессионалом разработки ПО
- Автор:
- Жанр:
- Издательство:Издательство «Питер»046ebc0b-b024-102a-94d5-07de47c81719
- Год:2012
- Город:Санкт-Петербург
- ISBN:978-5-459-01044-2
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Роберт Мартин - Идеальный программист. Как стать профессионалом разработки ПО краткое содержание
Всех программистов, которые добиваются успеха в мире разработки ПО, отличает один общий признак: они больше всего заботятся о качестве создаваемого программного обеспечения. Это – основа для них. Потому что они являются профессионалами своего дела.
В этой книге легендарный эксперт Роберт Мартин (более известный в сообществе как «Дядюшка Боб»), автор бестселлера «Чистый код», рассказывает о том, что значит «быть профессиональным программистом», описывая методы, инструменты и подходы для разработки «идеального ПО». Книга насыщена практическими советами в отношении всех аспектов программирования: от оценки проекта и написания кода до рефакторинга и тестирования. Эта книга – больше, чем описание методов, она о профессиональном подходе к процессу разработки.
Идеальный программист. Как стать профессионалом разработки ПО - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
18
С высоты своего возраста я считаю ребенком всех, кому меньше 35 лет. Когда мне было за 20, я тратил довольно много времени на написание глупых игр на интерпретируемых языках. Я программировал космические «стрелялки», приключенческие игры, имитаторы скачек, «змейки», азартные игры… и т. п.
19
http://fitnesse.org
20
90 % – минимальная оценка. На самом деле значение намного выше. Точную величину покрытия трудно рассчитать, потому что программные инструменты «не видят» код, выполняемый во внешних процессах или блоках catch.
21
http://www.objectmentor.com/omSolutions/agile_customers.html
22
E. Michael Maximilien, Laurie Williams, “Assessing Test-Driven Development at IBM,“ http://collaboration.csc.ncsu.edu/laurie/Papers/MAXIMILIEN_WILLIAMS.PDF
23
Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language , Upper Saddle River, NJ: Prentice Hall, 1975.
24
А если некоторые программисты и ждут, то это трагическая случайность, которая свидетельствует об их неаккуратности. В современном мире время сборки должно измеряться секундами, а не минутами – и уж конечно, не часами.
25
Рик Хики называет этот метод «разработкой через лежание в гамаке».
26
Эта ката стала очень популярной; Google выдает информацию о многих ее разновидностях. Описание оригинала находится по адресу http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata
27
Robert C. Martin, Agile Software Development: Principles, Patterns, and Practices , Upper Saddle River, NJ: Prentice Hall, 2003.
28
http://codekata.pragprog.com
29
Мы используем префикс «Прагматик», чтобы отличить его от «Большого» Дэйва Томаса из OTI.
30
http://codingdojo.org/
31
http://katas.softwarecraftsmanship.org/?p=71
32
http://c2.com/cgi/wiki?PairProgrammingPingPongPattern
33
XP Immersion 3, May, 2000. http://c2.com/cgi/wiki?TomsTalkAtXpImmersionThree
34
Исходное условие: команда LogFileDirectoryStartupCommand
Исходное условие: до выполнения команды каталог old_inactive_logs существует
И содержит файл с именем x
После выполнения команды каталог old_inactive_logs должен существовать и должен содержать файл с именем x. – Примеч. пер.
35
Выполнить 15 операций отправки данных и просуммировать время. Убедиться в том, что z-показатель для двух секунд не менее 2,57. – Примеч. пер.
36
Выполнить 15 операций отправки данных и просуммировать время. Убедиться, что вероятность того, что операция займет не более двух секунд, составляет не менее 99,5 %. – Примеч. пер.
37
http://www.satisfice.com/articles/what_is_et.shtml
38
Mike Cohn, Succeeding with Agile, Boston, MA: Addison-Wesley, 2009.
39
Мана – стандартный ресурс в фэнтезийных и ролевых играх типа «Dungeons &Dragons». Каждый игрок обладает определенным количеством маны – магической субстанции, которая расходуется на применение магических заклинаний. Чем мощнее заклинание, тем больше на него расходуется маны. Восстановление маны происходит медленно, с фиксированным ежедневным приращением. Неопытные игроки способны легко израсходовать всю ману за несколько применений.
40
http://www.pomodorotechnique.com/
41
Закон Мерфи гласит, что если какая-нибудь неприятность может случиться, то она обязательно произойдет.
42
Точное значение для нормального распределения равно 1:769, или 0,13. Вероятно, можно безопасно говорить о вероятности 1:1000.
43
Предполагается, что модель PERT используется для аппроксимации бета-распределения. Это разумное предположение, потому что минимальная длительность выполнения задачи обычно определяется намного точнее, чем максимальная [Макконелл С. Сколько стоит программный проект. СПб.: Питер; М.: Русская Редакция, 2007. Рис. 1.3].
44
Если вы не знаете, что это такое, – найдите хороший учебник по теории вероятностей и математической статистике. Понять эту концепцию нетрудно, но она вам очень пригодится.
45
Barry W. Boehm, Software Engineering Economics, Upper Saddle River, NJ: Prentice Hall, 1981.
46
James Grenning, «Planning Poker or How to Avoid Analysis Paralysis while Release Planning,» April 2002, http://renaissancesoftware.net/papers/14-papers/44-planing-poker.html
47
http://store.mountaingoatsoftware.com/products/planning-poker-cards
48
http://en.wikipedia.org/wiki/Law_of_large_numbers
49
Деревянная игрушка; см. http://en.wikipedia.org/wiki/Jacob%27s_ladder_%28toy%29. – Примеч. перев.
50
Robert C. Martin, Agile Software Development: Principles, Patterns, and Practices, Up per Saddle River, NJ: Prentice Hall, 2003, pp. 20–22; Mike Cohn, Agile Estimating and Planning, Upper Saddle River, NJ: Prentice Hall, 2006.
51
В Интернете есть много сайтов, моделирующих этот забавный маленький компьютер.
52
У меня до сих пор сохранилось это руководство. Оно занимает почетное место на одной из моих книжных полок.
53
Персонаж сериала «Звездный путь». – Примеч. перев.
54
Ленты можно было перематывать только в одном направлении. Если происходила ошибка чтения, ленту нельзя было перемотать назад и прочитать сбойный участок заново. Приходилось прекращать то, что вы делаете, перематывать ленту к точке загрузки и начинать все с начала. Это происходило два-три раза в день. Ошибки записи тоже происходили достаточно часто, и накопитель не мог их обнаружить. По этой причине мы всегда записывали ленты парами, а затем проверяли пары после завершения. Если одна из лент была записана с ошибкой, мы немедленно делали копию. Если испорчены были обе ленты (что бывало очень редко), то вся операция повторялась. Такая была жизнь в 1970-е годы.
55
http://en.wikipedia.org/wiki/ASR-33_Teletype
56
Эти символы были чрезвычайно полезны для редактирования перфолент. По правилам символы «забой» игнорировались при вводе. Их код 0xFF означал, что на ленте были пробиты отверстия во всех позициях. Таким образом, любой символ можно было преобразовать в «забой» – для этого было достаточно пробить «забой» поверх старого символа. Итак, если вы допускали ошибку во время ввода программы, можно было вернуться к предыдущему символу, нажать клавишу «забой», а потом продолжить ввод.
Интервал:
Закладка: