Книга: Программист-прагматик. Путь от подмастерья к мастеру
Нетерпеливое дублирование
Нетерпеливое дублирование
Каждый проект испытывает давление времени – силы, которая может двигать лучшими из нас, заставляя идти напролом. Вам нужна подпрограмма, подобная уже написанной вами? Вас соблазнит возможность копирования и внесения лишь нескольких изменений? Вам нужно значение, чтобы представить максимальное число точек? Если я изменю файл заголовка, целый проект должен быть перестроен. Может, мне просто использовать константы в этом месте?… и в этом… и в том… Нужен класс, подобный тому, который есть в системе поддержки Java? У вас в распоряжении имеется исходный текст, так почему бы просто его не скопировать и не внести необходимые изменения (несмотря на лицензионное соглашение)?
Если вы чувствуете, что поддаетесь искушению, вспомните банальный афоризм: «Тише едешь – дальше будешь». Экономя несколько секунд в данный момент, вы потенциально теряете целые часы. Подумайте об аспектах, относящихся к «проблеме 2000 года». Многие из них были вызваны ленью разработчиков, которые не сделали параметризацию размера полей даты (или не внедрили централизованные библиотеки служб доступа к дате).
Нетерпеливое дублирование легко обнаруживается и устраняется, но это требует дисциплины и желания потратить время в настоящий момент, чтобы избежать головной боли впоследствии.
- Как возникает дублирование?
- Коллективное дублирование
- Неумышленное дублирование
- Навязанное дублирование
- Глава 22 Дублирование данных
- 9.4.1. Дублирование открытых файлов: dup() и dup2()
- 9.4.3.2. Дублирование дескриптора файла
- Дублирование дескрипторов
- 11.5.3. Дублирование файловых дескрипторов
- Дублирование против связанной копии
- Дублирование образа процесса