Щастлив ден. Открих че поредният мой дразнител в менталния модел на повечето програмисти си има име – premature generalization. Случвало ли ви се е колегите / приятелите / семейството да ви вкарват в неописуемо дълбока абстракция, която после ви излиза през носа със своята сложност. Да загубите 30 часа за да имплементирате въпросната генерализация и още 30 да я използвате по предназначение, когато е могло да стане много по-лесно за 25?. Наричат го още Turing Tar-Pit.
Поуката? Не генерализирайте излишно. Целта ни е да ограничаваме колкото можем, а не обратното. You Ain’t Gonna Need It.
В повечето случаи по-правилното му име е YAFL: yet another fuckin’ layer.
Последната му случка по повода е следната: прекарах ден и половина дни в дизайнване на не много голяма системка, но пък достатъчно абстрактна така че да може да поеме нововъведенията, които евентуално може да се появят в следващите няколко месеца/година.
За радост след като разказах за плана си, тактично ми бяха дръпнати юздите и сегашния работещ вид на системата го свърших за малко повече време отколкото онзи загубен ден и половина.