Книга: Идеальный программист. Как стать профессионалом разработки ПО
Сноски из книги
· #1Без паники!
· #2Технический термин неизвестного происхождения.
· #3Ассемблер для компьютера Honeywell H200, аналог Autocoder для компьютера IBM 1401.
· #4Если, конечно, он правильно понимает профессиональную ответственность.
· #5Robert C. Martin, Principles, Patterns, and Practices of Agile Software Development, Upper Saddle River, NJ: Prentice Hall, 2002.
· #6Также называемой «бережливой». – Примеч. перев.
· #7Американский профсоюзный лидер, исчезнувший при загадочных обстоятельствах. – Примеч. пер.
· #8http://raptureinvenice.com/?p=63
· #9День массовых распродаж в США; приходится на период с 22 по 29 ноября. – Примеч. перев.
· #10Возможно, за исключением непосредственного работодателя Джона, хотя я готов поспорить, что он тоже оказался в проигрыше.
· #11Правда, никаких денег я на этом не потерял. Я продал свой патент Teradyne за 1 доллар согласно условиям контракта (хотя и этот доллар я не получил).
· #12Мартин Р. Чистый код. Создание, анализ и рефакторинг. СПб.: Питер, 2010.
· #13Robert C. Martin, Agile Software Development: Principles, Patterns, and Practices, Upper Saddle River, NJ: Prentice Hall, 2003.
· #14Я не знаю ни одной методологии, которая бы сравнилась по эффективности с TDD, – но вдруг она известна вам?
Эта тема гораздо подробнее рассматривается в главе 10.
· #16См. главу 7.
· #17К мужчинам это относится в гораздо большей степени, чем к женщинам. У меня была замечательная беседа с @desi (Дези Макадам, основательница DevChix) о мотивации женщин-программистов. Я сказал ей, что для меня заставить программу работать – примерно то же самое, что на охоте убить огромного зверя. Она сказала, что для нее и для других женщин, с которыми она общалась, написание кода является созидательным актом.
· #18С высоты своего возраста я считаю ребенком всех, кому меньше 35 лет. Когда мне было за 20, я тратил довольно много времени на написание глупых игр на интерпретируемых языках. Я программировал космические «стрелялки», приключенческие игры, имитаторы скачек, «змейки», азартные игры… и т. п.
· #19http://fitnesse.org
· #2090 % – минимальная оценка. На самом деле значение намного выше. Точную величину покрытия трудно рассчитать, потому что программные инструменты «не видят» код, выполняемый во внешних процессах или блоках catch.
· #21http://www.objectmentor.com/omSolutions/agile_customers.html
· #22E. Michael Maximilien, Laurie Williams, “Assessing Test-Driven Development at IBM,“ http://collaboration.csc.ncsu.edu/laurie/Papers/MAXIMILIEN_WILLIAMS.PDF
· #23Brian 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
· #27Robert C. Martin, Agile Software Development: Principles, Patterns, and Practices, Upper Saddle River, NJ: Prentice Hall, 2003.
· #28http://codekata.pragprog.com
· #29Мы используем префикс «Прагматик», чтобы отличить его от «Большого» Дэйва Томаса из OTI.
· #30http://codingdojo.org/
· #31http://katas.softwarecraftsmanship.org/?p=71
· #32http://c2.com/cgi/wiki?PairProgrammingPingPongPattern
· #33XP 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 %. – Примеч. пер.
· #37http://www.satisfice.com/articles/what_is_et.shtml
· #38Mike Cohn, Succeeding with Agile, Boston, MA: Addison-Wesley, 2009.
· #39Мана – стандартный ресурс в фэнтезийных и ролевых играх типа «Dungeons &Dragons». Каждый игрок обладает определенным количеством маны – магической субстанции, которая расходуется на применение магических заклинаний. Чем мощнее заклинание, тем больше на него расходуется маны. Восстановление маны происходит медленно, с фиксированным ежедневным приращением. Неопытные игроки способны легко израсходовать всю ману за несколько применений.
http://www.pomodorotechnique.com/
· #41Закон Мерфи гласит, что если какая-нибудь неприятность может случиться, то она обязательно произойдет.
· #42Точное значение для нормального распределения равно 1:769, или 0,13. Вероятно, можно безопасно говорить о вероятности 1:1000.
· #43Предполагается, что модель PERT используется для аппроксимации бета-распределения. Это разумное предположение, потому что минимальная длительность выполнения задачи обычно определяется намного точнее, чем максимальная [Макконелл С. Сколько стоит программный проект. СПб.: Питер; М.: Русская Редакция, 2007. Рис. 1.3].
· #44Если вы не знаете, что это такое, – найдите хороший учебник по теории вероятностей и математической статистике. Понять эту концепцию нетрудно, но она вам очень пригодится.
· #45Barry W. Boehm, Software Engineering Economics, Upper Saddle River, NJ: Prentice Hall, 1981.
· #46James Grenning, «Planning Poker or How to Avoid Analysis Paralysis while Release Planning,» April 2002, http://renaissancesoftware.net/papers/14-papers/44-planing-poker.html
· #47http://store.mountaingoatsoftware.com/products/planning-poker-cards
· #48http://en.wikipedia.org/wiki/Law_of_large_numbers
· #49Деревянная игрушка; см. http://en.wikipedia.org/wiki/Jacob%27s_ladder_%28toy%29. – Примеч. перев.
· #50Robert 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-е годы.
· #55http://en.wikipedia.org/wiki/ASR-33_Teletype
· #56Эти символы были чрезвычайно полезны для редактирования перфолент. По правилам символы «забой» игнорировались при вводе. Их код 0xFF означал, что на ленте были пробиты отверстия во всех позициях. Таким образом, любой символ можно было преобразовать в «забой» – для этого было достаточно пробить «забой» поверх старого символа. Итак, если вы допускали ошибку во время ввода программы, можно было вернуться к предыдущему символу, нажать клавишу «забой», а потом продолжить ввод.
- Обязательное вступление (Не пропускайте, оно вам понадобится!)
- 1 Профессионализм
- 2 Как сказать «нет»
- 3 Как сказать «да»
- 4 Написание кода
- 5 Разработка через тестирование
- 6 Тренировка
- 7 Приемочное тестирование
- 8 Стратегии тестирования
- 9 Планирование
- 10 Оценки
- 11 Под давлением
- 12 Сотрудничество
- 13 Группы и проекты
- 14 Наставники, ученики и мастерство
- Приложение Инструментарий
- Сноски из книги
- Содержание книги
- Популярные страницы