LINUX.ORG.RU

Ответ на: комментарий от SR_team

Там не это написано. Ответ неверный.

Ну на пайтон допустим типа так

wsn[i].find('_') >= 0

Не особая разница

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от hummer

Но на дворе третье десятилетие 21-го века, компьютеры имеют десятки, а иногда и сотни гигабайт памяти, широкие 4K и 8K мониторы стали обыденностью и у разработчиков их обычно несколько

А читать код разучились. И это говорю я, нубяра и не программист ни разу.

Но сишный код продолжает быть убогим

Ну ок, напиши javaVM на java посмотрим как ты будешь писать красивый и читабельный код гыгыгы. Ты вообще что хочешь от процедурного языка в виде переносимого ассемблера? Давай libc красиво напишем, без вставок, без «магии» где магия это просто то что понять никак не можется посмотрим потом как всё летать будет ))

LINUX-ORG-RU ★★★★★
()

Код абсолютно нормален.

Harald ★★★★★
()
Ответ на: комментарий от Toxo2

я бы почти наверняка попытался избежать всех многократных вызовов функций и арифметических операций

Нет сомнений в том, что грааль эффективности ведет к злоупотреблениям. Программисты тратят огромное количество времени на размышления или беспокойство о скорости некритичных частей своих программ, и эти попытки повышения эффективности на самом деле имеют огромное негативное влияние, когда рассматриваются вопросы отладки кода и его поддержка. Мы должны забыть о небольшой эффективности, скажем, примерно в 97% случаев: преждевременная оптимизация — это корень всех зол.

© Д. Кнут

По функции же видно, что вызываться она будет скорее всего один раз при старте, тут выгадывать такты не стоит. Тем более, что компиляторы нонче умные и сами постараются оптимизировать, не факт, что ручная оптимизация будет эффективнее.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от gremlin_the_red

Да, наверное, так и есть, вы правы.

Просто глаз режет. Это из личного. Был у меня коллега, который так писал - копировал портянку кода и вызывал её с другими параметрами, как и оригинал. И так раз двадцать. Переписывать за ним было очень тяжело.

Toxo2 ★★★★
()
Ответ на: комментарий от Toxo2

https://gcc.godbolt.org/z/Y6sKGa5WK

Смотря какой clang.

Вообще для INT_MAX будет переполнение, и если честно считать, то будет разный ответ.

Но переполнение знаковых это UB, компилятор вправе считать, что UB в С++ программах нет, и оптимизировать исходя из этого знания :)

fsb4000 ★★★★★
()
Последнее исправление: fsb4000 (всего исправлений: 1)
Ответ на: комментарий от EXL

Это -O0, при котором Clang честно отключает подобную оптимизацию

Это кто сказал? Обсуждается как бы оптимизация и пример приведён как аргумент против моего утверждения. Нужно быть тупее шланга чтобы делать это с -O0

no-such-file ★★★★★
()
Ответ на: комментарий от Reset

Пока не объяснили не понял. Я же говорю, что для понимания надо погружаться и магическая константа не способствует быстрому пониманию.

Нормальный программист сделал бы константу DIGITS

Гениальная константа, надежная! Главное — не магическая. Прочитал и сразу понял весь код, да?

Тот случай, когда слепое следование бетспраксис только все запутывает.

filosofia
()
Ответ на: комментарий от LINUX-ORG-RU

Вопрос был риторический, чтобы @hummer задумался, что лучше: говорящий сам за себя код или «неговнокод», но с комментарием, говорящим то же самое.

Darth_Revan ★★★★★
()
Последнее исправление: Darth_Revan (всего исправлений: 1)
Ответ на: комментарий от Reset

Нормальный программист сделал бы константу DIGITS

Тут разве что спасет, что два раза употребляется.

А так ради одного вхождения это заводить явно смысла не имеет.

fornlr ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

А читать код разучились. И это говорю я, нубяра и не программист ни разу.

Я программист и я не понимаю, почему в Java давать осмысленные имена переменным - это норма, а в C/C++ - редкая редкость.

Ну ок, напиши javaVM на java посмотрим как ты будешь писать красивый и читабельный код гыгыгы.

Стандартная библиотека Java написана на Java и, в отличии от типичного кода на C/C++, код стандартной библиотеки Java вполне читабельный.

hummer
() автор топика
Ответ на: комментарий от fornlr

Константа DIGITS — зло. Почему бы не назвать ее THING например? В этом имени все плохо, в самом деле. Когда ты видишь код с такой константой, что ты думаешь? Для полноты картины, представь, что ты смотришь коммит или пулл-реквест, где определения этой константы не видно. 10 хотя бы понятно, что это 10, и из контекста можно понять, для чего она.

Поэтому уж лучше магические константы чем бессмысленные имена.

filosofia
()
  • разрабы переутомились
  • у меня было нечто похожее в python, мистика какая то.

я про первый пример

XoFfiCEr ★★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.