Содржина на објавата
В моих триках вы часто можете видеть способы сокращения кода. Когда длинный код заменяется на однострочный. Скорее всего, я продолжу эту практику, но хочу напомнить о важной вещи! ⚠️Понятное лучше чем запутанное⚠️ Да, иногда эти трики помогают сделать код чище, когда они применяются в виде "синтаксического сахара". Но если не следить за собой то эта привычка может создавать совершенно безумные вещи! Если это можно сделать в Python, то это не значит что это нужно сделать. Смотрим реальный пример из моей практики, когда я увлёкся и загнал все сравнения в один оператор if >>> if any([fnmatch(rel, pat) for pat in include_files]) and not any([fnmatch(rel, pat) for pat in ignore_files]) and not any([any([fnmatch(name, pat) for pat in ignore_files]) for name in Path(rel).parts]): >>> do_comething() Да, это всего две строки))) Страшная мешанина! Почему это плохо? 🔸 Это круто когда "заработало" но не круто когда через время смотришь на код и не поймешь что он делает. 🔸 Когда через время попробуешь что-то поправить, становится проще переписать заново (мой случай 😉) 🔸 Если работаете в команде, можно получить знатных [подставить страшное слово]лей. Такой код просто невозможно поддерживать. Можно получить знатной брани на свою голову от себя же, пока не вспомнишь что это ты и писал) 🔸Если вы решились немного сгладить вину и расставить комментарии, то в однострочном выражении это не всегда получится. Символ игнора перехода на новую строку не позволит вам за ним писать комментарий. Оба выражения ниже вызовут ошибку синтаксиса x = 1 + \ # comment 2 x = 1 + \ # comment 2 Делайте код проще, избегайте сокращений, которые снижают читабельность кода. ⚠️Простое лучше сложного⚠️ А тем, кто еще не понял: import this