June 14th, 2013

nyaload

Иммутабельность - это добро

Поверхостное и давнее знакомство с хаскеллем повлияло на программирование на остальных языках:

В C++ или JavaScript я стараюсь завести переменную с новым именем, вместо изменения старой ( int nextLine = line+1; вместь line += 1; ...; line -= 1;). Вроде упрощает как чтение, так и изменение кода.

В bash я стараюсь не перезаписывать файлы, а давать им уникальное имя (например, result.2013-06-07__23_59_59; или data -> data.sorted -> data.filtered вместо data -> data -> data).
Данная техника в bash так же позволяет смело использовать хард-линки вместо копирования, без боязни случайно испортить файл при рефакториге скрипта. Таким образом, время (и даже свободное место!) чаще экономится, чем тратится. Ещё, при сбое в скрипте - легче перезапустить его с середины, так все промежуточные стадии - сохранились.