13.1.5. Когда простоты не достаточно
13.1.5. Когда простоты не достаточно
Неудачное решение вопроса простоты Unix-программистами заключается в том, что они часто действуют так, будто вся необязательная сложность является случайной. Более того, традиция Unix сильно склоняется к тому, чтобы удалять функции во избежание необязательной сложности.
Тем более, что отстаивать эту позицию не сложно (поистине большая часть данной книги направлена на это). Чистый минимализм позволяет нам порой чувствовать себя виртуозами, а минималистское проектирование — весомое противостояние естественной тенденции программных систем развивать все более сложное сопровождение слабо продуманных функций. Однако вычислительные ресурсы и время размышления человека подобны богатству, и их гораздо интереснее использовать, а не накапливать. Разработчику необходимо определить, когда минимализм в проектировании становится не ценной формой самодисциплины, а просто самоистязанием — способом "приобретения добродетелей" в обмен на отказ от реального использования богатства, необходимого для выполнения работы.
Это сложный вопрос, его просто превратить в аргумент в пользу полного отказа от хорошей проектной дисциплины. Профессионалы старой школы Unix часто избегают его, опасаясь, что неспособность как можно жестче противостоять сложности и раздуванию кода неминуемо приводит к порицанию. Однако данный вопрос также является необходимым. Он будет рассматриваться непосредственно при анализе учебных примеров данной главы.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Когда собирать?
Когда собирать? Пшеницу можно собирать, когда вершки становятся коричневыми, а морковь – когда видны торчащие оранжевые вершки. Коричневых вершков появляются, когда картофель созревает. Арбузы или тыквы собирают, когда рядом со стеблем появляются плоды. Как только
Когда яд полезен
Когда яд полезен В случае необходимости вы можете съесть сырую курицу, гнилое мясо и даже паучьи глаза. Вы отравитесь, но потом поправитесь при высоком уровне здоровья. Если вы выпьете коровье молоко, то исцелитесь быстрее. Съев паучьи глаза, вы получите четыре очка
Глава 8. Что, где, когда и как?
Глава 8. Что, где, когда и как? Интернет – практически безразмерное хранилище для информации самого разного рода. Рассказать даже вкратце о том, что «складируют» в Сети ее пользователи, совершенно невозможно. Однако я рискнул выбрать для вас некоторое количество полезных
§ 89. Боязнь простоты
§ 89. Боязнь простоты 2 июня 2002Половина функций видеомагнитофона или музыкального центра нужна только для того, чтобы соблазнить покупателя в магазине. Сколько раз человек изучал рисунок подошвы обуви, которую он носит второй месяц?Человеческая страсть ко всему
63. Используйте достаточно переносимые типы в интерфейсах модулей
63. Используйте достаточно переносимые типы в интерфейсах модулей РезюмеНе позволяйте типам появляться во внешнем интерфейсе модуля, если только вы не уверены в том, что все пользователи смогут корректно их понять и работать с ними. Используйте наивысший уровень
1.6.5. Правило простоты: необходимо проектировать простые программы и "добавлять сложность" только там, где это необходимо
1.6.5. Правило простоты: необходимо проектировать простые программы и "добавлять сложность" только там, где это необходимо Многие факторы приводят к усложнению программ (а следовательно, делают их более дорогими и более уязвимыми относительно ошибок). Программисты — это
1.6.8. Правило устойчивости: устойчивость-следствие прозрачности и простоты
1.6.8. Правило устойчивости: устойчивость-следствие прозрачности и простоты Программное обеспечение называют устойчивым, когда оно выполняет свои функции в неожиданных условиях, которые выходят за рамки предположений разработчика, столь же хорошо, как и в нормальных
13.1.5. Когда простоты не достаточно
13.1.5. Когда простоты не достаточно Неудачное решение вопроса простоты Unix-программистами заключается в том, что они часто действуют так, будто вся необязательная сложность является случайной. Более того, традиция Unix сильно склоняется к тому, чтобы удалять функции во
1.6.5. Правило простоты: необходимо проектировать простые программы и "добавлять сложность" только там, где это необходимо
1.6.5. Правило простоты: необходимо проектировать простые программы и "добавлять сложность" только там, где это необходимо Многие факторы приводят к усложнению программ (а следовательно, делают их более дорогими и более уязвимыми относительно ошибок). Программисты — это
1.6.8. Правило устойчивости: устойчивость — следствие прозрачности и простоты
1.6.8. Правило устойчивости: устойчивость — следствие прозрачности и простоты Программное обеспечение называют устойчивым, когда оно выполняет свои функции в неожиданных условиях, которые выходят за рамки предположений разработчика, столь же хорошо, как и в нормальных
Когда индексировать
Когда индексировать Некоторые индексы сами заявят о себе в начальном периоде проектирования - обычно через известные вам требования сортировки, группировки, вычислений. Очень хорошей практикой является консервативный подход к созданию индексов: не создавать их, пока не
Имеет ли владелец серверного процесса достаточно полномочий для открытия файлов?
Имеет ли владелец серверного процесса достаточно полномочий для открытия файлов? Полномочия к файловой системе, включая права к каталогам, могут вызвать проблемы в POSIX. Полномочия к каталогам могут вызвать проблемы в разделах Windows MTFS.Серверному процессу может
10. Когда открыть, а когда закрыть
10. Когда открыть, а когда закрыть Рассмотрев деловые модели, которые поддерживают разработку программного обеспечения с открытыми текстами, мы можем теперь приблизиться к общему вопросу о том, когда исходному коду, с точки зрения экономики, имеет смысл быть «открытым», а
Валентин Домбровский, Travelatus: открытых ниш в online-travel в Рунете ещё достаточно Елена Краузова, фото: Инна Зайцева
Валентин Домбровский, Travelatus: открытых ниш в online-travel в Рунете ещё достаточно Елена Краузова, фото: Инна Зайцева Опубликовано 14 мая 2013 Проекты в области online-travel стали для российского стартап-рынка в последнее время «горячей» темой. Рекордная для
Ссылок не достаточно
Ссылок не достаточно До сих пор все значения целочисленных, булевых и других аналогичных типов рассматривались как ссылки на объекты. Однако по двум причинам необходимы сущности, значениями которых являются объекты:[x]. В предыдущей лекции была поставлена важная цель -
Проблема простоты разработки
Проблема простоты разработки Даже если можно было бы избежать ошибочных вызовов reclaim, остается вопрос - сколь реально просить разработчиков управлять удалением объектов? Загвоздка в том, что даже при обнаружении объекта, подлежащего утилизации, обычно просто удалить его