Никто и не будет читать, кроме тех, кто разрабатывал непосредственно сам велосипед. Ведь команда пишет велосипед только для себя.
Пишите код так, будто человек, который будет его поддерживать – маньяк-психопат, который знает, где вы живёте (с)
Вообще написание велосипедов полезно для саморазвития, конечно, но использование их в продакшене вместо хорошо отлаженых годами и тысячами людей библиотек обычно оказывается нерентабельным. Скажите своему работодателю спасибо, за то, что он позволяет вам учиться за свои деньги.
Я говорил именно с точки зрения выбора trade-off, отвечая на ваш вопрос о том, что мешает. Если splice() написать таким образом, чтобы она всегда работала за O(1), то константный size() написать не получится. И как уже много раз здесь говорили — вопрос о нужности константного size() остаётся открытым.
Это всё хорошо работает в стране розовых единорогов и сферических коней в вакууме. Ещё это хорошо работает для программ на 1000 строк. Но это плохо работает в реальном мире, где исходный код продуктов может иметь возраст 15 лет и больше, где код объемом в миллионы строк писали в общей сложности сотни людей, разного опыта и поколений, где применялись разные практики и парадигмы.
она должна уметь сообщать свое состояние в случае ошибки. «Состояние» — это 1) потоки, 2) стек функций в них и 3) аргументы функций.
Вы всё правильно пишете, только вот логгировать каждый вызов функции, включая аргументы — сомнительное решение. Программа должна уметь в случае критической ошибки сохранять свой дамп и завершаться без порчи пользовательских данных. А при наличии у разработчика отладочных символов он из этого дампа вынет и стеки всех потоков, и аргументы вызываемых функций и много чего ещё.
Ну можно сказать, что и принципа. Просто если я за год буду реально играть не 12 месяцев, а 2, то это уже по 12 баксов в месяц получается. Ну и вообще, я не люблю платить за что-то, чем я не пользуюсь, даже если сумма небольшая. Такие микроплатежи, если их не контролировать, накапливаются и в сумме становятся уже не микро.
Вообще написание велосипедов полезно для саморазвития, конечно, но использование их в продакшене вместо хорошо отлаженых годами и тысячами людей библиотек обычно оказывается нерентабельным. Скажите своему работодателю спасибо, за то, что он позволяет вам учиться за свои деньги.
— Ctrl-O/Ctrl-I
— Я просто не в курсе какими средствами этот phpdoc генерится, но если внешней программой (назовем её phpdocgen), то просто :!phpdocgen %