[О блоге] [наверх] [пред] [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-ов. Вроде бы очевидно, но я тьму
кода вижу который плевать на всё это ходил.

    [оставить комментарий]