Філософія PYTHON.

Опубликовано kybik - вс, 11/26/2017 - 01:24

Довгий час Perl була основною мовою інтернет-програмування. На перших порах, функціонування багатьох інтерактивних сайтів, було засновано на сценарії Perl. У той час спільнота Perl керувалося девізом: «Це можна зробити декількома способами». Якийсь час розробникам подобався такий підхід, тому що гнучкість, притаманна мові, дозволяла вирішувати багато завдань різними способами. Подібний підхід був допустимий при роботі над власними проектами, але з часом стало ясно, що надмірна гнучкість ускладнює довгостроковий супровід великих проектів.
Було дуже важко, виснажливо і довго розбиратися в коді і намагатися зрозуміти, що ж думав інший розробник при вирішенні складного завдання. Досвідчені програмісти Python рекомендують уникати зайвих складнощів і застосовувати прості рішення там, де це можливо. Філософія спільноти Python виражена в нарисі Тіма Пітерса «The Zen of Python». Щоб переглянути цей короткий набір принципів написання хорошого коду Python, досить ввести команду import this в інтерпретаторі. Я не стану відтворювати всі принципи, але наведу кілька рядків, щоб ви зрозуміли, чому вони важливі для вас як для початківця програміста Python.

>>> import this
The Zen of Python, by Tim Peters

  • Красиве краще, ніж потворне. 
    Програмісти Python вважають, що код може бути красивим і елегантним. У програмуванні люди займаються вирішенням завдань. Програмісти завжди цінували добре спроектовані, ефективні і навіть гарні рішення. Згодом ви більше дізнаєтесь про Python, почнете писати більше коду, і коли-небудь ваш колега подивиться на екран вашого комп'ютера і скаже: «Ого, який красивий код!»
  • Просте краще, ніж складне.
    Якщо у вас є вибір між простим і складним рішенням і обидва працюють, використовуйте просте рішення. Ваш код буде простішим в супроводі, а у вас і інших розробників буде менше проблем з оновленням цього коду в майбутньому.
  • Складне краще, ніж заплутане.
    Реальність створює свої складності; іноді просте рішення задачі неможливо. В такому випадку використовуйте найпростіше рішення, яке працює.
  • Код, який легко читати має значення.
    Навіть якщо ваш код складний, він повинен нормально читатися. Працюючи над проектом, який вимагає написання складного коду, постарайтеся написати змістовні
    коментарі для цього коду.
  • Повинен існувати один - і бажано тільки один - очевидний спосіб зробити це.
    Якщо запропонувати двом програмістам Python вирішити одну і ту ж задачу, вони повинні виробити схожі рішення. Це не означає, що в програмуванні немає місця для творчості. Навпаки! Але більша частина роботи програміста полягає в застосуванні невеликих, стандартних рішень для простих ситуацій в контексті великого, більш творчого проекту. Внутрішня організація ваших програм повинна виглядати логічно з точки зору інших програмістів Python.
  • Краще зараз ніж ніколи.
    Ви можете витратити весь залишок життя на вивчення всіх тонкощів Python і програмування в цілому, але тоді ви ніколи не закінчите жоден проект. Не намагайтеся написати ідеальний код; напишіть код, який працює, а потім вирішуйте, чи варто доопрацювати його для поточного проекту або ж перейти на щось інше.

Коли ви займетеся вивченням більш складних тем, постарайтеся не забувати про цю філософії простоти і ясності. Досвідчені програмісти будуть з великою повагою ставитися до вашого коду, більш охоче ділитися своєю думкою і співпрацювати з вами в цікавих проектах.