Ночное программирование
Ночное программирование
Худший код, созданный мной, был написан в 3 часа ночи. Это было в 1988 году, когда я работал в телекоммуникационной начинающей фирме Clear Communications. Мы проводили долгие часы за «трудовыми подвигами» – конечно, мечтая со временем разбогатеть.
Однажды очень поздним вечером (а вернее, очень ранним утром) для решения проблемы синхронизации я организовал отправку моим кодом сообщения самому себе через систему диспетчеризации событий (мы называли это «отправить почту»). Решение было неверным, но в 3 часа ночи оно казалось чертовски привлекательным. В самом деле, после 18 часов непрерывного программирования (не говоря уже о 60–70-часовой рабочей неделе) мне ничего другого в голову уже не приходило.
Помню, я очень гордился своей многочасовой работой. Помню, я ощущал свою целеустремленность. Помню, мне казалось, что работать в 3 часа ночи – удел настоящего профессионала. Как же я ошибался!
Этот код, словно бумеранг, возвращался к нам снова и снова. Он породил ошибочную архитектуру, которую использовали все и недостатки которой постоянно приходилось маскировать обходными решениями. Код приводил к появлению странных ошибок синхронизации и необъяснимых циклов обратной связи. Одно сообщение приводило к отправке другого, потом третьего – и так до бесконечности. У нас вечно не было времени на то, чтобы переписать эту халтуру (нам так казалось), но у нас всегда хватало времени для наложения очередной «заплатки». Мусор накапливался, а мой ночной код обрастал все большими последствиями и побочными эффектами. Через много лет эта история превратилась в популярную шутку нашей группы. Когда я уставал или впадал в отчаяние, коллеги говорили: «Смотрите! Боб собирается отправить себе почту!»
Мораль: не пишите код, когда вы устали. Преданность делу и профессионализм проявляются в дисциплине, а не в продолжительности работы. Обязательно следите за сном, здоровьем и образом жизни, чтобы вы могли ежедневно посвятить работе восемь хороших часов.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
1.4.3. Программирование на С
1.4.3. Программирование на С Наиболее привлекательной частью GNU Coding Standards является глава 5, которая описывает написание кода на С, освещая такие темы, как форматирование кода, правильное использование комментариев, чистое использование С, именование ваших функций и
Программирование
Программирование Если вы хорошо владеете какими-либо современными языками программирования (BASIC и Pascal, изучаемые в школе на уроках программирования, естественно, не в счет), то невостребованными на рынке интернет-работы вы наверняка не останетесь. Программисты в Сети
27.3. Программирование сокетов
27.3. Программирование сокетов 27.3.1. Что такое сокет? Сокет — это двунаправленный канал между двумя компьютерами в сети, который обеспечивает конечную точку соединения. «Двунаправленный» означает, что данный могут передаваться в двух направлениях — от клиента к серверу и
Программирование
Программирование Вот теперь можно приступать к написанию кода.В прототипе приведена детальная характеристика каждого элемента сайта. Не нужно думать, как лучше поступить в том или ином случае. Каждый час, потраченный на планирование, сэкономит вам около трех часов
Программирование ограничений
Программирование ограничений Блендер имеет много ограничений, которые Вы можете применить к объекту. Некоторые из них похожи на управляющие объекты (drivers), в том смысле, что они не ограничивают движение объекта, но могут копировать некоторые параметры, такие как
10. МНОГОПОТОЧНОЕ ПРОГРАММИРОВАНИЕ
10. МНОГОПОТОЧНОЕ ПРОГРАММИРОВАНИЕ Параллельное программирование, связанное с использованием легковесных процессов, или подпроцессов (multithreading, light-weight processes) — концептуальная парадигма, в которой вы разделяете свою программу на два или несколько процессов, которые могут
Night Vision (Ночное видение)
Night Vision (Ночное видение) Фильтр создает эффект изображения, получаемого на приборах ночного видения (рис. 4.28). Рис. 4.28. Исходное изображение (слева) и пример использования фильтра Night Vision (Ночное видение) (справа) – цвета такие, будто рисунок получен на приборе ночного
Программирование на VBA
Программирование на VBA По сути, программировать- это значит говорить компьютеру, что он должен делать. Создавая компьютерную программу, вы даете компьютеру некоторый набор шагов, по которым ему предписано следовать. Например, вы можете указать компьютеру сделать
Программирование форм
Программирование форм Добавлять элементы управления в формы несложно, а вот, чтобы заставить их делать то, что вам нужно, потребуется немного больше умственной работы и программирования. В этом разделе мы обсудим тонкости процесса программирования форм. Покажите то, что
Программирование в STL
Программирование в STL STL традиционно характеризуется как совокупность контейнеров, итераторов, алгоритмов и объектов функций, однако программирование в STL заключает в себе нечто большее. Этот термин означает, что программист способен правильно выбирать между циклами,
Программирование
Программирование Kernighan Brian W. and Plauger P. J., The Elements of Programming Style (Second Edition), McGraw-HiII, 1978.В этом стройном классическом произведении используются примеры, взятые из других книг, для иллюстрации того, что нужно и что не нужно делать для однозначного и результативного программирования.
Программирование на Java
Программирование на Java Автор: Н.А. Вязовик Интернет-Университет Информационных Технологийhttp://www.INTUIT.ruПоддержкаКурс создан при финансовой поддержке компанииSun Microsystems Информация о курсеКурс лекций посвящен современному и мощному языку программирования Java. В его рамках
Программирование
Программирование Не думайте, что изучив главу 2 «Введение в ActionScript» и главу 3 «Элементы ActionScript для создания игр», вы уже научились программировать. Существует разница между умением создавать код на ActionScript и опытом программирования.Большинству людей программирование
49 Высокомерное программирование
49 Высокомерное программирование Если бы Данте жил в цифровой век, он обязательно предусмотрел бы еще один круг ада для преступников, пишущих подлый код. Я не говорю о создателях вирусов и взломщиках систем — для них ад может быть слишком хорошим местом. Нет, я имею в виду
Программирование селезенки
Программирование селезенки Редакция «КТ» попросила Дмитрия Орешкина поделиться соображениями о возможностях математического моделирования общества как инструмента практической политической деятельности. В частности, о том, насколько обоснованна вера многих людей (в
Ночное освещение
Ночное освещение Особенности ночной фотосъемки Умело применяя на практике особенности и правила ночной фотосъемки, вы можете получить красивый и качественный снимок. Фотографии, сделанные в ночное и вечернее время, смотрятся очень эффектно, особенно если на них