ulidtko
17.05.2012 20:23
Совершенно неожиданно для себя попробовал гнутый стиль фигурных скобочек:
if (blahblah)
←--→{
←--→op();
←--→op2();
←--→}
Не так уж и плох, как мне вначале блевалось.
это не гнутый, это мой стиль111 Фишка в чотком понимании того, что всё, что идёт на одном уровне — как бы один оператор (составной или простой — не важно).
фишка в том, что питон, лол.
если есть сишечько-подобные { } и составные операторы, этот стиль рулит. А если всякие петоньé его используют — это похуй.
не стоит говорить «питоньё» так, будто это низшая каста программистов.
Решение насчёт семантических отступов — очень и очень правильное, остальным языкам этого не хватает. Предсказываю, что в новых яп это будет чуть ли не повсеместной фичей — у неё нет минусов. Даже обфускации не мешает.
ну да, по сравнению с похапэшниками и 1Сниками питонописатели, можно считать, живут в ажуре.
Про именно семантические отступы — решение плохое. 1. часто нужно cut-n-paste — чо, ещё и отступы дрочить?///// 2. усложняет кодогенерацию, 3. усложняет парсинг.
2 & 3 — да ну, это ты несерьёзно. Не верю, в общем. По сравнению с контекстно-зависимой грамматикой и темплейтами два дополнительных токена — это реально хуйня.
Насчёт cut-n-paste — согласен, но эта же проблема не решается и free-form отступами. Всё равно нужно реиндентить. Так что в сравнении это не недостаток, это отсутствие решения той же проблемы.
> стоит говорить «питоньё» так, будто это низшая каста программистов.
fftgj
и открой уже для себя лисп, из которого это всё передрали заменив скобки на отступы дабы оградить такое хомячьё как ты от бугуртов, да.
2 + 3 — нефиг использовать языки с КЗ-грамматиками. Если же темплейты это про C++, то тоже в топку, вместе с C++.
Ко всем вопросам (1 + 2 + 3) относится такой аргумент: задачи нужно решать, и иногда бывает так, что решать нужно быстро, и пофиг, как именно, 1. даже в ущерб виду рукописного кода (cut-n-paste — и работает без дрочева на выравнивание), 2. дополнительных средств для генерации выровненного кода, 3. не заводя еботню на тему дополнительных токенов для парсинга.
Кроме того, у меня даже в продакшоне есть код, который никаким формальностям выравнивания не соответствует, но его легко читать, поддерживать, исправлять.
Конечно, это хорошо, если код выровнен всегда, но от принудительного выравнивания, влияющего на семантику, вижу больше недостатков, скорее.
> хомячьё
> скобки на отступы
> бугурты
> лисп
да ты словесный повар! вон какой охуенный винегрет готовишь.
Почему вы с @lovesan так похожи?
для питона такое выравнивание нигде не прописано
тебе показать грамматику питона?
давай
http://docs.python.org/reference/grammar...
Ctrl+F, INDENT:
suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT
так что нет, индентация блоков у питона именно в синтаксисе.
Хаскельные layouts, я считаю, полущ, но даже и это уже хорошие шаги.
и штоу
это только один из вариантов — для многострочных выражений. Тебе никто; не мешает; угорать по хардкору; через полукишки;
мешает, «угорать по хардкору; через полукишки;» не является блоком ("suite"):
>>> for s in ["suck", "my", "this"]: if s != "my": print s
File "<stdin>", line 1
for s in ["suck", "my", "this"]: if s != "my": print s
^
SyntaxError: invalid syntax
Потому я и говорю, что do { it ← хардкор; угорать it; return "haskell layouts"; } полущ. Но не критично, на самом деле; обфусцировать можно и без такого «хардкора».
правда глаза колет? ;-)
Потому что я его виртуал, очевидно же!
А если серьёзно, он процентов на 70% ок.
интендация тупо замена скобкам и норманому аст на их основе.
*нормальному
не неси хуйню позязя.
Ну то есть, мне на самом деле похуй, можешь нести что угодно. Я просто сообщаю тебе, что ты несёшь хуйню.
мне похуй на твоё ложное неподкреплённое фактами сообщение, полное хуйни