Книга: Искусство программирования для Unix
13.1.5. Когда простоты не достаточно
13.1.5. Когда простоты не достаточно
Неудачное решение вопроса простоты Unix-программистами заключается в том, что они часто действуют так, будто вся необязательная сложность является случайной. Более того, традиция Unix сильно склоняется к тому, чтобы удалять функции во избежание необязательной сложности.
Тем более, что отстаивать эту позицию не сложно (поистине большая часть данной книги направлена на это). Чистый минимализм позволяет нам порой чувствовать себя виртуозами, а минималистское проектирование — весомое противостояние естественной тенденции программных систем развивать все более сложное сопровождение слабо продуманных функций. Однако вычислительные ресурсы и время размышления человека подобны богатству, и их гораздо интереснее использовать, а не накапливать. Разработчику необходимо определить, когда минимализм в проектировании становится не ценной формой самодисциплины, а просто самоистязанием — способом "приобретения добродетелей" в обмен на отказ от реального использования богатства, необходимого для выполнения работы.
Это сложный вопрос, его просто превратить в аргумент в пользу полного отказа от хорошей проектной дисциплины. Профессионалы старой школы Unix часто избегают его, опасаясь, что неспособность как можно жестче противостоять сложности и раздуванию кода неминуемо приводит к порицанию. Однако данный вопрос также является необходимым. Он будет рассматриваться непосредственно при анализе учебных примеров данной главы.
- Глава 19 Мотивация. Одних стараний недостаточно
- Глава 22 Критики. Быть простым – это нелегко
- Когда нужен постскриптум в бизнес-тексте?
- Как я нашла «правильных» потребителей, когда искала «неправильных»
- Когда старая школа молода
- Что происходит, когда бренды растут или идут на спад
- Пример 9-8. Содержимое $* и $@, когда переменная $IFS -- пуста
- Когда следует задавать проясняющие вопросы
- Когда печатаю, перед повтором буквы приходится выжидать несколько секунд
- Когда я не работаю за компьютером, через некоторое время он отключается. Можно ли это исправить?
- Наносится ли какой-нибудь вред USB-брелоку, когда его извлекают из разъема без использования функции безопасного отключе...
- Как узнать, когда сеть подключена, а когда нет? У меня плохой разъем на сетевой карте, и связь иногда пропадает