- PVSM.RU - https://www.pvsm.ru -
Несколько цитат о дизайне и разработке программ. Думаю, каждый найдет что-нибудь себе по вкусу. В дополнение к этому топику [1].
Простота — дух эффективности. // A. Freeman [2]
Простота — ключ к надежности. // E. Dijkstra [3]
Искусство простоты — это сложная головоломка. // D. Horton [4]
Ничто так не раскрывает недостатки дизайна как реализация. // J. Horton [5]
Самая главная вещь при разработке программ — ясно представлять конечную цель. // B. Stroustrup
Если вы не можете понять структуру всей программы, пока принимаете душ, вы еще не готовы ее реализовать. // R. Pattis [6]
Цель абстракции не быть расплывчатой, а создать новый семантический уровень, который будет совершенно прозрачным. // E. Dijkstra [3]
Когда я работаю над задачей, я не задумываюсь о красоте. Я думаю только о том, как решить проблему. Но когда законченное решение выглядит некрасиво, я знаю, оно — ошибочно. // B. Fuller [7]
Если хотите совершенствовать свой код, не зацикливайтесь на тестах; разрабатывайте лучше. // S. McConnell [8]
Управление сложностью — квинтэссенция программирования. // B. Kernighan
Неизбежная цена удобства — простота. // T. Hoare [9]
Все должно быть сделано так просто, как это возможно. Но не проще. // A. Einstein
Есть два метода создания программного обеспечения. Один из них — сделать программу настолько простой, что, очевидно, в ней нет недостатков. И другой, сделать приложение настолько сложным, что в нем невидно явных недостатков. // T. Hoare [9]
Некто пожелал, чтобы компьютером можно было пользоваться также легко как и телефоном. Мечта сбылась: я уже не могу разобраться, как пользоваться телефоном. // B. Stroustrup
Технические навыки — это мастерство сложности, а творчество — мастерство простоты. // E. Zeeman [10]
Сложность [применения, прим. пер] — признак технической незрелости. Простота использования — знак хорошо спроектированного продукта, будь то банкомат или ракета. // Daniel T. Ling [11]
Стоимость добавления нового функционала, это не только затраты на написание кода. Цена также включает в себя препятствия для дальнейшего расширения… Трюк в том, что следует подбирать функции, которые не конфликтуют друг с другом. // John Carmack
Умные структуры данных и тупой код работают куда лучше, чем наоборот. // E. Raymond [12]
Если бы автомобиль проходил цикл разработки компьютера, то Роллс-Ройс стоил 100$, проходил миллион миль на галлон и взрывался каждый год, убивая всех пассажиров. R. Cringely [13]
Пролистав книгу о принципах магии и не взглянув на обложку, сложно не решить, что это книга о разработке программного обеспечения. // B. Tognazzini [14]
Компания, которая относится к своим программистам как к идиотам, скоро получит разработчиков, которые только и могут вести себя как идиоты. // B. Stroustrup
Основная ошибка людей, которые проектируют что-то полностью идиотоустойчивое, — это недооценка
изобретательности законченных идиотов. // D. Adams [15]
Проблема в том, что идиоты — самоуверены, а умные — полны сомнений. // B. Russell [16]
Архитектор — тот, кто знает разницу между тем, что можно сделать и тем, что следует сделать. // L. McVoy [17]
Плохой архитектор поддается каждому соблазну, а хороший им сопротивляется. L. Wittgenstein [18]
Ходить по воде и разрабатывать программы согласно ТЗ очень просто, если они заморожены. E. Berard [19]
Если проекты рушатся под градом правок, внесенных в ТЗ, это означает, что в них есть недостаток. Мы должны найти способ сделать проекты устойчивыми к таким изменениям и защитить их от разложения. // R. Martin [20]
Преждевременная оптимизация — корень всех бед. // T. Hoare [9]
В теории нет разницы между практикой и теорией. Но на практике она есть. // Jan van de Snepscheut [21]
Никакой код не может быть быстрее, чем отсутствие кода. // Taligent's Guide to Designing Programs
Автор: icc
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/9704
Ссылки в тексте:
[1] топику: http://habrahabr.ru/post/111348/
[2] A. Freeman: http://en.wikipedia.org/wiki/R._Austin_Freeman
[3] E. Dijkstra: http://en.wikipedia.org/wiki/Edsger_W._Dijkstra
[4] D. Horton: http://en.wikipedia.org/wiki/Douglas_Horton_%28clergyman%29
[5] J. Horton: http://www.cs.unb.ca/~jdh/
[6] R. Pattis: http://en.wikipedia.org/wiki/Richard_E._Pattis
[7] B. Fuller: http://en.wikipedia.org/wiki/Buckminster_Fuller
[8] S. McConnell: http://en.wikipedia.org/wiki/Steve_McConnell
[9] T. Hoare: http://en.wikipedia.org/wiki/C._A._R._Hoare
[10] E. Zeeman: http://en.wikipedia.org/wiki/Christopher_Zeeman
[11] Daniel T. Ling: https://www.systemsbiology.org/daniel-t-ling-0
[12] E. Raymond: http://en.wikipedia.org/wiki/Eric_S._Raymond
[13] R. Cringely: http://en.wikipedia.org/wiki/Robert_X._Cringely
[14] B. Tognazzini: http://en.wikipedia.org/wiki/Bruce_Tognazzini
[15] D. Adams: http://en.wikipedia.org/wiki/Douglas_Adams
[16] B. Russell: http://en.wikipedia.org/wiki/Bertrand_Russell
[17] L. McVoy: http://en.wikipedia.org/wiki/Larry_McVoy
[18] L. Wittgenstein: http://en.wikipedia.org/wiki/Ludwig_Wittgenstein
[19] E. Berard: http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/b/Berard:Edward_V=.html
[20] R. Martin: http://en.wikipedia.org/wiki/Robert_C._Martin
[21] Jan van de Snepscheut: http://en.wikipedia.org/wiki/Jan_L._A._van_de_Snepscheut
Нажмите здесь для печати.