Старая песня о главном

Старая песня о главном IT, Python, IT юмор, Баян, Языки программирования

IT-юмор

5.6K постов52.5K подписчик

Добавить пост

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору

Вы смотрите срез комментариев. Показать все
18
Автор поста оценил этот комментарий

a=3; b=5

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

первое время больше парило что циклы и т.п. отделяются табуляцией без {}

раскрыть ветку (43)
11
Автор поста оценил этот комментарий
А меня как раз это вообще не парило, ещё со школы привык табуляцией выделять блоки. Скорее при частой смене языков парит разная сигнатура стандартных функций - например, len(...) или .length(), map(...) или .map(...) и т.п. А ещё когда к проекту раз в пол года возвращаешься, без типизации сложновато.
раскрыть ветку (1)
6
Автор поста оценил этот комментарий

никто не мешает юзать добровольную типизацию, гуглить `python typing`

5
Автор поста оценил этот комментарий

a,b=3,5 пишут питонисты)

раскрыть ветку (2)
DELETED
Автор поста оценил этот комментарий
А пайлинтер высказывает недовольство
раскрыть ветку (1)
3
Автор поста оценил этот комментарий

если пробелами отбить - норм. по какому PEP у вас ругается?

3
Автор поста оценил этот комментарий

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

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

Или те же циклы. Если бы я в школе начинал изучать Питон, а не Паскаль, то местные while и for (который на самом деле работает как "foreach") пришлись бы очень кстати, т.к. они максимально логичны. Но я уже привык к си-шным for, while и foreach, и оформлять цикл перечисления в while мне неудобно. Я 2 раза вешал свой курсач в бесконечный цикл, потому что забывал увеличивать счетчик в конце while...

В итоге, вышел говнокод ещё больший, чем обычно (из-за того, что язык я изучал прям в процессе написания кода), но зато, сука, красивый и относительно читаемый.

раскрыть ветку (3)
4
Автор поста оценил этот комментарий

А в чем проблема сделать цикл со счетчиком через for?

for i in range(10):
   ...

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Очевидно, в том, чтобы знать этот самый range и додуматься его так использовать. Если ещё буду что-нибудь писать на Питоне, возьму на вооружение. Спасибо.

2
Автор поста оценил этот комментарий

не писал комменты и забывал об иттерациях в циклах. хмм, а причем тут строгость языка?

3
DELETED
Автор поста оценил этот комментарий

Мой стандартный аргумент - в тех же плюсах, после того как поставишь {} - ты все равно внутри отступы проставляешь соответственно уровню вложенности, иначе год нечитабелен. То есть остается убрать ненужный атрибут (скобки), и вот мы логически приходим к стилю питона/руби

раскрыть ветку (33)
1
Автор поста оценил этот комментарий

Аргумент вида - если после туалета все равно мыть руки, то зачем тебе туалетная бумага?

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

Тем не менее от этого падает читабельность. Как и обычные скобки они проще для восприятия.

раскрыть ветку (32)
4
DELETED
Автор поста оценил этот комментарий

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

Так что вообще не понимаю как к делу относится аналогия, и чем при наличии правильных отступов помогают скобки.

раскрыть ветку (30)
Автор поста оценил этот комментарий

Также как и с порядком операций.

(а && в && с) // (а && в && с) // (а && в && с) - читается проще чем без скобок, хотя они избыточны, не надо глазами искать оператор "или", сразу понятно, условие проходит для трех групп и надо оказаться в одной из них.

раскрыть ветку (29)
2
DELETED
Автор поста оценил этот комментарий

А зачем ты сравниваешь этот вариант с обсуждаемым? Тут у тебя не было никакой группировки, и ты ее добавил для соответствия семантике.

В обсуждаемом же ты уже сделал визуальное и логическое разделение при помощи отступов.

Более подходящее сравнение - утверждать что

({а && в && с}) // ({а && в && с}) // ({а && в && с})

Это более читаемо чем то что ты предложил.

раскрыть ветку (28)
Автор поста оценил этот комментарий

С чего бы это? Ты спросил зачем скобки, если и так понятно, я тебе написал зачем скобки и как они влияют на читабельность.


Выражение выше можно использовать без скобок, как и код с отступом. Но скобки сразу показывают как читается выражение и отсутствует необходимость разбираться что написал другой человек пару месяцев назад.


Это также удобно при написании, поскольку скобки ставятся сразу и сразу видно где кончается конструкция. Сложнее накосячить одним табом, плюс с мержами неясно как еще все будет.

раскрыть ветку (27)
2
DELETED
Автор поста оценил этот комментарий
С чего бы это? Ты спросил зачем скобки, если и так понятно, я тебе написал зачем скобки и как они влияют на читабельность.

Да сколько можно перевирать то.

Мы сравниваем варианты

if x == 1 {
      do_something()
}

и


if x == 1:
    do_something()

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


В воем же примере без логических операций, скобки - это скорее как отступы при ворматировании, они показывают логические блоки. Это вообще не относится к делу, так как имеет совсем другую природу.

раскрыть ветку (26)
Автор поста оценил этот комментарий

Неа, сравниваем вот такое

if (a)

Dob

If (b)

  Doc

  Dod

Dog

If (f)

  Dog

  If (h)

   Dok

Else

  Dol

Else

Dov


Это мержил джун три месяца назад. Здрасьте.

раскрыть ветку (25)
1
DELETED
Автор поста оценил этот комментарий

Ну ты еще в пол пробела отступ сделай, ага.

Вот сравни два куска кода https://gist.github.com/Flid/d9ac7170c5b42d721e9661c148f311b... - сильно прям ухудшилась читабельность без скобок?

раскрыть ветку (24)
Автор поста оценил этот комментарий

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


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

раскрыть ветку (23)
Автор поста оценил этот комментарий

Поправлю вас: не однострочный, а однокомандный.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку