Re[5]: Читаемость кода?
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.06.24 07:49
Оценка:
Здравствуйте, Khimik, Вы писали:
K>Я часто после end; пишу комментарий вроде //next q, так становится понятнее.
А можно просто делать отступы
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Читаемость кода?
От: Khimik  
Дата: 28.06.24 14:40
Оценка: :))
Здравствуйте, Sinclair, Вы писали:

K>>Я часто после end; пишу комментарий вроде //next q, так становится понятнее.

S>А можно просто делать отступы

1) Делание отступов тоже занимает время.
2) Я часто помещаю в одну строку несколько операторов.
3) Вместо отступов я размечаю функциональные блоки кода комментариями.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Отредактировано 28.06.2024 16:27 Khimik . Предыдущая версия .
Re[3]: Читаемость кода?
От: пффф  
Дата: 28.06.24 14:48
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Мне кажется, что как у меня — удобнее. Может это какая-то моя специфика.


Да ты вообще очень специфичный чел.


K>Часто бывает удобно, например, поместить блок begin end с несколькими операторами в одну строку, потому что смысл блока понятен


Это невозможно отлаживать


K>и часто эти блоки повторяются (в моём коде выше это есть).


Для этого люди придумали функции
Re[7]: Читаемость кода?
От: пффф  
Дата: 28.06.24 14:50
Оценка:
Здравствуйте, Khimik, Вы писали:

K>1) Делание отступов тоже занимает время.


Это пять минут на том коде, который ты дрочишь уже какую неделю


K>2) Я часто помещаю в одну строку несколько опрюераторов.


Это дерьмовая практика.


K>3) Вместо отступов я размечаю функциональные блоки кода комментариями.


Но на это же тратится время, нет?
Re[5]: Читаемость кода?
От: T4r4sB Россия  
Дата: 28.06.24 19:29
Оценка: :)
Здравствуйте, Khimik, Вы писали:

K>Здравствуйте, Sinclair, Вы писали:


S>>Зато эти отступы позволяют быстро видеть границы "вертикальных" блоков, а не выискивать глазами очередной end среди нагромождения ключевых слов:


K>Я часто после end; пишу комментарий вроде //next q, так становится понятнее.


У меня мозг устроен как-то не так как у остальных людей; это проявляется в том, что я пытаюсь войти во все тусовки, немного ознакомиться со всеми точками зрения, и не избегаю когнитивного диссонанса а стремлюсь к нему. Это привело, в частности, к тому, что у меня есть невроз: какая-то часть моей психики находится на стороне паскалистов, и бывало, что я хотел произнести “плюсовики”, а чуть не оговорился сказав “крестобляди”. С этим можно жить, и как мне кажется это помогает мне понимать психологию астисишников-паскалистов.
Я очень развит духовно, и поэтому едва освоил Паскаль в 14 лет, как через считанные месяцы стал одним из самых продвинутых какиров в 9 классе, и даже тогда я понял, что надо ставить отступы.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[8]: Читаемость кода?
От: T4r4sB Россия  
Дата: 28.06.24 19:34
Оценка:
Здравствуйте, пффф, Вы писали:

П>Это дерьмовая практика.


Кстати тут я тоже считаю что иногда лучше не растягивать код по вертикали
if cond { foo() } else { bar() }

vs
if cond 
{ 
  foo() 
} 
else 
{ 
  bar() 
}

Простой по смысле код растягивается на кучу экранов в пустынную кашу, в которой хрен что найдёшь.

Так же я считаю, что есть смысл писать в одну строчку сочетание break и короткого привоения:

if (cond) { result := *it; break; }
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[9]: Читаемость кода?
От: пффф  
Дата: 28.06.24 19:38
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>Кстати тут я тоже считаю что иногда лучше не растягивать код по вертикали

TB>
TB>if cond { foo() } else { bar() }
TB>

TB>Простой по смысле код растягивается на кучу экранов в пустынную кашу, в которой хрен что найдёшь.

Попробуй пройтись отладчиком


TB>Так же я считаю, что есть смысл писать в одну строчку сочетание break и короткого привоения:


TB>
TB>if (cond) { result := *it; break; }
TB>


Попробуй пройтись отладчиком

Ещё вот так тоже весело:
SomeType DoSomething() { return DoSomethingElse(); }



У меня сейчас проект, который чуть больше чем полностью состоит из такого кода. Это реальная пипецома
Re[10]: Читаемость кода?
От: T4r4sB Россия  
Дата: 28.06.24 19:48
Оценка:
Здравствуйте, пффф, Вы писали:

П>Попробуй пройтись отладчиком


1. Что такое отладчик и зачем он нужен?
2. А что, разве генерация отладочной инфы поддерживает только номера строк, но не поддерживает номер символа в строке?
3. Тернарник делает то же самое, пишется в 1 строчку, но никто не жужжит
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[11]: Читаемость кода?
От: пффф  
Дата: 28.06.24 20:42
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>1. Что такое отладчик и зачем он нужен?


Нет никакого желания холиварить с любителями медитировать над исходным кодом.


TB>2. А что, разве генерация отладочной инфы поддерживает только номера строк, но не поддерживает номер символа в строке?


Ты где-то такое видел?


TB>3. Тернарник делает то же самое, пишется в 1 строчку, но никто не жужжит


Я пишу в четыре строчки, если там есть какие-то вызовы:
auto var = getCondition()
         ? makeSomething()
         : makeSomethingElse()
         ;


Это удобно ещё и тем, что можно по-быстрому закоментить какую-то ветку, вставить альтернативную реализацию, проверить, и потом удалить либо новую версию, либо старую
Re[12]: Читаемость кода?
От: T4r4sB Россия  
Дата: 28.06.24 21:05
Оценка:
Здравствуйте, пффф, Вы писали:

П>Нет никакого желания холиварить с любителями медитировать над исходным кодом.


Я люблю медитировать над полноценными дампами, где сразу вся необходимая инфа про состояние программы в данный момент

TB>>2. А что, разве генерация отладочной инфы поддерживает только номера строк, но не поддерживает номер символа в строке?


П>Ты где-то такое видел?


Да. Когда свой компилятор нового языка писал (через генерацию LLVM IR), то добавить туда отладочную инфу с номерами символов, которая ещё и нормально подхватывалась MSVC — оказалось совсем не сложно

П>Это удобно ещё и тем, что можно по-быстрому закоментить какую-то ветку, вставить альтернативную реализацию, проверить, и потом удалить либо новую версию, либо старую


Закомментить ветку, вставить вывод лога итд — это несколько секунд, сборка занимает намного больше времени (крестопроблемы). Не знаю, как в Жабе, там наверное это действительно заметно.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[10]: Читаемость кода?
От: vsb Казахстан  
Дата: 28.06.24 21:16
Оценка:
Здравствуйте, пффф, Вы писали:

П>Попробуй пройтись отладчиком


В принципе это то же, что и a(b(c), d(e)). Тут тоже в одной строчке три действия и те же вопросы про отладчик возникают, но вроде никто не призывает это разносить на 3 строки.

Некоторые отладчики (например идея) при установке брякпоинта умеют спросить, на какое именно выражение программист его хочет поставить. И по шагам умеют работать в пределах строки. Не знаю, что там в дельфи.
Отредактировано 28.06.2024 21:17 vsb . Предыдущая версия .
Re[13]: Читаемость кода?
От: пффф  
Дата: 29.06.24 06:02
Оценка: :)
Здравствуйте, T4r4sB, Вы писали:

П>>Нет никакого желания холиварить с любителями медитировать над исходным кодом.


TB>Я люблю медитировать над полноценными дампами, где сразу вся необходимая инфа про состояние программы в данный момент


Я рад за тебя


TB>>>2. А что, разве генерация отладочной инфы поддерживает только номера строк, но не поддерживает номер символа в строке?


П>>Ты где-то такое видел?


TB>Да. Когда свой компилятор нового языка писал (через генерацию LLVM IR), то добавить туда отладочную инфу с номерами символов, которая ещё и нормально подхватывалась MSVC — оказалось совсем не сложно


Я рад за тебя



П>>Это удобно ещё и тем, что можно по-быстрому закоментить какую-то ветку, вставить альтернативную реализацию, проверить, и потом удалить либо новую версию, либо старую


TB>Закомментить ветку, вставить вывод лога итд — это несколько секунд, сборка занимает намного больше времени (крестопроблемы). Не знаю, как в Жабе, там наверное это действительно заметно.


Я рад за тебя
Re[11]: Читаемость кода?
От: пффф  
Дата: 29.06.24 06:07
Оценка:
Здравствуйте, vsb, Вы писали:

П>>Попробуй пройтись отладчиком


vsb>В принципе это то же, что и a(b(c), d(e)). Тут тоже в одной строчке три действия и те же вопросы про отладчик возникают, но вроде никто не призывает это разносить на 3 строки.


Не призывает, но это тоже неудобно


vsb>Некоторые отладчики (например идея) при установке брякпоинта умеют спросить, на какое именно выражение программист его хочет поставить. И по шагам умеют работать в пределах строки. Не знаю, что там в дельфи.


Я тоже не в курсе, что там в дельфи.

Но MSVC и VSCode так не умеют.

VSCode вообще не умеет в интелисенс для параметров шаблонов, только от безнадеги на нем сижу
Re[12]: Читаемость кода?
От: · Великобритания  
Дата: 29.06.24 13:40
Оценка:
Здравствуйте, пффф, Вы писали:

п> Это удобно ещё и тем, что можно по-быстрому закоментить какую-то ветку, вставить альтернативную реализацию, проверить, и потом удалить либо новую версию, либо старую

VCS, не?
avalon/3.0.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[13]: Читаемость кода?
От: пффф  
Дата: 29.06.24 21:57
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>Я люблю медитировать над полноценными дампами, где сразу вся необходимая инфа про состояние программы в данный момент


Да, в догонку. Твой полноценный дамп не расскажет, каким путем программа пришла в это состояние. И он также не расскажет, куда программа двинет дальше.
Re[14]: Читаемость кода?
От: T4r4sB Россия  
Дата: 29.06.24 23:14
Оценка: :)
Здравствуйте, пффф, Вы писали:

П>Да, в догонку. Твой полноценный дамп не расскажет, каким путем программа пришла в это состояние. И он также не расскажет, куда программа двинет дальше.


Да, бывает что приходится добавлять дополнительно отладочные принты. Но вообще код должен быть спроектирован так, чтоб в любой точке дамп позволял понять всё, что нужно.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[15]: Читаемость кода?
От: пффф  
Дата: 29.06.24 23:34
Оценка:
Здравствуйте, T4r4sB, Вы писали:

П>>Да, в догонку. Твой полноценный дамп не расскажет, каким путем программа пришла в это состояние. И он также не расскажет, куда программа двинет дальше.


TB>Да, бывает что приходится добавлять дополнительно отладочные принты. Но вообще код должен быть спроектирован так, чтоб в любой точке дамп позволял понять всё, что нужно.


А, ты хочешь поговорить о поведении сферических коней в вакууме, когда ты сидишь на проекте 20+ лет?

Я чаще меняю работу. И пройтись под отладчиком по коду, задав свои входные условия, и посмотреть, как проходит execution flow, для изучения очередного дерьмового фрейворка — это бесценно.

А методы медитации над херотой очень любят в дерьмоконторах типа яндекса или вк, я там это всё понюхал и свалил, сейчас промышленность поднимаю, а не развожу хомячков рекламой.
Re[2]: Оптимизация через разделение/вынос функционала
От: пффф  
Дата: 29.06.24 23:48
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Азарту ради, я написал код с сортировкой с использованием дополнительной памяти (деление интервала значений на секции):


K>Прежде чем кликать по спойлеру, ответьте на вопрос — вы бы легко написали этот алгоритм?


По спойлеру не кликал, там какая-то студенческая практическая работа первокура, скорее всего.

Если бы ты знал, что приходится делать разработчикам в реальной жизни...

Но ты лучше экономь моск, а то кто без тебя Россию обустроит


K>Мой алгоритм вышел примерно на 30% быстрее стандартной быстрой сортировки со схемой Хоара. Памяти он расходует не особо много. А вы бы опять искали готовый алгоритм вместо голимого придумывания велосипеда?



Скорее всего ты обосрался с тестами, или намухлевал
Re[7]: Читаемость кода?
От: Sinclair Россия https://github.com/evilguest/
Дата: 30.06.24 13:50
Оценка:
Здравствуйте, Khimik, Вы писали:

K>1) Делание отступов тоже занимает время.\

Не занимает — их делает IDE.
K>2) Я часто помещаю в одну строку несколько операторов.
Я вам показал пример оформления вашего же кода с несколькими операторами в одной строке. Какие вопросы у вас остались?
K>3) Вместо отступов я размечаю функциональные блоки кода комментариями.
По факту — нет, не размечаете.
На написание комментариев уходит больше времени, чем на автоматические отступы.
При этом при чтении кода, на поиск функциональных блоков по комментариям уходит гораздо больше времени. А типичный код читается примерно вдесятеро чаще, чем пишется.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[12]: Читаемость кода?
От: Sinclair Россия https://github.com/evilguest/
Дата: 04.07.24 15:51
Оценка:
Здравствуйте, пффф, Вы писали:
П>Ты где-то такое видел?
"такое" — это какое?
C#, Java, Javascript прекрасно отлаживаются "внутри" строки по F11.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.