Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Совершенный код. Мастер-класс - Макконнелл С.

Макконнелл С. Совершенный код. Мастер-класс — М.: Русская редакция, 2005. — 896 c.
ISBN: 5-469-00822-3
Скачать (прямая ссылка): soversheniykodmasterklass2005.djvu
Предыдущая << 1 .. 390 391 392 393 394 395 < 396 > 397 398 399 400 401 402 .. 426 >> Следующая

остальные 8 часов беспокойного сна, работая несколько ночей
подряд над устранением из программы "одной последней ошибки",
- вы не писали сложную компьютерную программу. Тогда вам
трудно понять, что в программировании есть что-то
захватывающее.
Эдвард Йордон (Edward Your don)
Настолько щедрая дань богам программирования - едва ли не
самый верный путь к неудаче. Ночные бдения позволят вам на
какое-то время почувствовать себя самым великим программистом
в мире, но потом вам придется потратить несколько недель на
исправление дефектов, внесенных в код в безудержном порыве. Во
что бы то ни стало вызовите у себя увлечение
программированием, но помните, что увлечение никогда не
заменит компетентности.
33.9. Привычки
Следовательно, нравственные добродетели существуют в нас не от
природы и не вопреки природе... а благодаря приучению мы в них
совершенствуемся... Ибо если нечто следует делать, пройдя
обучение, то учимся мы, делая это... Хорошо строя дома, люди
станут добрыми зодчими, а строя худо - худыми... Так что вовсе
не мало, а очень много, пожалуй, даже все зависит от того, к
чему именно приучаться с самого детства.
Аристотель
Выработать хорошие привычки крайне важно, потому что очень
многое из того, что вы делаете как программист, вы делаете не
задумываясь. Например, когда-то вы могли думать о
форматировании циклов, но вы не думаете об этом при написании
каждого нового цикла. Вы пишете их как привыкли. Это относится
почти ко всем аспектам форматирования кода. Когда вы в
последний раз всерьез заду
814
ЧАСТЬ VII Мастерство программирования
мывались о своем стиле форматирования? Если вы программируете
около пяти лет, скорее всего четыре с половиной года назад.
Позднее вы просто следовали привычке.
Привычки связаны со многими областями. Так, программисты
обычно тщательно проверяют индексы циклов и не проверяют
операторы присваивания, из-за чего ошибки в операторах
присваивания гораздо сложнее искать, чем ошибки индексов
циклов (Gould, 1975). Вы отвечаете на критику дружелюбно или
недружелюбно. Вы всегда стремитесь сделать код удобочитаемым
или быстрым или не обращаете на это никакого внимания. Если
при выборе между написанием быстрого или удобочитаемого кода
вы каждый раз делаете один и тот же выбор, вы на самом деле не
выбираете - вами движет привычка.
Взгляните на изречение Аристотеля еще раз и замените слова
"нравственные добродетели" на "программистские добродетели".
Аристотель утверждает, что вы не предрасположены ни к
хорошему, ни к плохому поведению, поэтому вы можете стать как
хорошим, так и плохим программистом. Главным способом ста-
новления хорошим или плохим в своей области является сама
деятельность: строительство в случае строителей и
программирование в случае программистов. То, что вы делаете,
становится привычкой, и со временем именно привычки начинают
определять, хороший вы программист или плохой.
Билл Гейтс говорит, что любой программист, который
впоследствии станет хорошим, хорош уже в первые несколько лет.
После этого измениться практически невозможно (Lammers, 1986).
Если вы программируете уже много лет, вряд ли вы внезапно
зададитесь вопросом: "Как я делаю этот цикл быстрее?" или "Как
я делаю этот код более удобочитаемым?" Это привычки, которые
хорошие программисты вырабатывают на самых ранних стадиях
обучения.
Обучаясь делать что-то, сразу учитесь делать это правильно. В
первый раз вы активно обдумываете свои действия и все еще
можете с легкостью изменить свой подход. Выполнив что-то
несколько раз, вы начинаете уделять меньше внимания своим
действиям, и "сила привычки" берет свое. Проверяйте, что вы
приобретаете именно те привычки, какие хотите.
Что, если вы еще не выработали самые эффективные привычки? Как
изменить плохую привычку? Будь у меня окончательный ответ на
этот вопрос, я бы продавал видеокассеты с записями курсов
самопомощи!.. Но один стоящий совет я дам. Вы не можете
заменить плохую привычку на отсутствие привычки. Именно по-
этому люди, пытающиеся бросить курить, сквернословить или
переедать, испытывают огромные затруднения, пока не заменят
старую привычку на какую-то другую, например, жевание
жевательной резинки. Легче заменить старую привычку на новую,
чем полностью избавиться от привычки. Таким образом,
попробуйте выработать новые, эффективные привычки. Например,
выработайте привычку писать класс на псевдокоде перед
кодированием или тщательно читать код перед его компиляцией.
Тогда вам не придется беспокоиться об избавлении от плохих
привычек - они естественным путем будут вытеснены новыми
привычками.
ГЛАВА 33 Личность 815
Дополнительные ресурсы
"Человеческому фактору" в разработке ПО посвящены следующие
материал ы. http://cc2e.corn/3327
Dijkstra, Edsger. "The Humble Programmer." Turing Award Lec-
ture. Communications of the ACM 15, no. 10 (October 1972):
859-
^ ~ - - http://cc2e.com/3334
66. Эта классическая работа способствовала началу исследования
Предыдущая << 1 .. 390 391 392 393 394 395 < 396 > 397 398 399 400 401 402 .. 426 >> Следующая