просматривая давеча некоторые свои сишные исходники, заметил интересное.

1. код насквозь больной premature optimisation. получается так почти рефлекторно, а если этого не делать — то ощущается дискомфорт: у нас же (с придыханием)системный язык! надо «оптимизировать» сразу!

2. циклы забиты break'ами, потому что п.1. а чего, если метка явно не объявлена — то неструктурный переход не считается!

3. и забавное: очень часто после циклов стоят assert-ы, которые проверяют постусловие. некоторое время я считал это признаком хорошего и надёжного кода. простите, если вы пили чай/кофе и только что поперхнулись.

и про стадность явней: когда я пишу на обероне (компонентном паскале, но неважно), давление пункта 1 про «настоящие программисты сразу оптимизируют» почти исчезает. вместе с ним исчезает множество (но, каюсь, далеко не все) assert-ов из пункта 3 — в силу ненадобности.

печальное: полностью излечиться никак не удаётся, и эмуляторы break через булы всё равно подло пробираются в код.

мечтательное: подавляющее большинство современных программистов (включая меня) надо запирать в отдельные камеры, и выдавать им еду исключительно за правильно написаные циклы.