[О блоге]
[наверх]
[пред]
[2021-04-13 17:00:47+03:00]
[ff6a9471893f36239414d7c2c770cfea4b262099]
Темы: [time]
NTPsec hacking guide
Полез я ради любопытства в hacking guide NTPsec проекта, в котором Эрик
Реймонд является главным архитектором и программистом. Полез то ради
запрещённых к применению действий, типа использования не reentrant
функций и всяких sprintf. Ничего нового не увидел.
Но (в блоге каком-то прочитал) что одно из первых действий что они
сделали это переводили int-ы на C99-style bool-ы. Я вот всякие проекты,
в том числе suckless guide, видел где C99 это минимум, но при этом они
bool не используют. Ну почему? Какого чёрта!? ESR молодец!
Ну а от чего в восторге это от требования всегда и везде расставлять
фигурные скобки, даже там где не обязательно (if (smth) action;). Чуть
ли не везде я вижу что люди опускают в подобных if-ах скобки и даже
боязно спрашивать зачем. Ведь это же жутко неудобно когда надо вставить
какую-то отладку или breakpoint в отладчике и для вставки ещё одного
action уже надо расставлять эти скобки. Go язык молодец: он аналогично
обязывает и точка. Ну и ESR молодец! Хотя он и упоминает что это ещё
может быть полезно для того чтобы проще сконвертировать код в Go.
Также намекает на использование stdint.h типов для int-ов, когда
возникает вопрос достаточной ли длины "просто" тип int. И что нельзя
делать предположения о знаке у char-ов. Вроде бы очевидно, но я тьму
кода вижу который плевать на всё это ходил.
[оставить комментарий]