Loading...

Знаете ли какво е "Zen of Python"?

avatar Георги Кацаров 4 минути
Знаете ли какво е "Zen of Python"?

Програмният език Python си има свой „кодекс“, наречен Zen of Python. Той представлява списък от 19 истини за принципите, върху които е изграден езика. Ето кои са те:

1. „Красиво е по-добре от грозно“ – тук става въпрос за кода на Python и за това, че той е точен, кратък, ясен и елегантен в същото време.

2. “Емплицитно е по-добре от имплицитно” – това е малка игра на думи. „Имплицитно“ означава нещо прикрито, нещо което присъства и оказва ефект, но не е видимо. „Емплицитно“ – няма такава дума по принцип, но начина по който e изградена думата, ни говори, че е нещо противоположно на „имплицитно“. Или казано накратко: бъдете ясни, бъдете специфични.

3. „Просто е по-добре от сложно“ – Според много софтуерни разработчици простото решение е винаги за предпочитане пред сложното.

4. „Сложно е по-добре от усложнено“ – За да ви обясня разликата тук ще се наложи да използвам метафора. Представете си, че имате приятел/ка и той/тя ви помоли да подготвите меню от три ястия за рождения му/ѝ ден. Това е сложно. Но ако вместо това той/тя ви каже „Искам да ме заведеш на ресторант, който ще ми хареса“ – ето това е усложнено.

5. ”Flat е по-добре от nested” – flat e обикновено по-лесен и бърз за парсване и следователно - предпочитан. Ако обаче ви се наложи да използвате nested структури от данни, не „задълбавайте“ много, или по-точно – не използвайте т.нар. deeply nested метод.

6. „Разредено е по-добре от наситено“ – не се опитвайте да изписвате твърде много код на един ред. Кодът ви трябва да е четим за всички, които ще работят с него.

7. „Четимостта е от значение“ – имайте в предвид, че някои от тези правила се припокриват в своята логика, но въпреки това акцента може да е различен.

8. „Специалните случаи не са толкова специални, за да нарушите правилата...“ – Това е напомняне, че програмният език и библиотеките са средство, което ви помага да постигнете крайната цел, а не самоцел.

9. „ ... макар че практичността е по-важна от „чистотата“ – Това е едно малко напомняне, че всяко правило си има изключение и правило №8 не прави изключение.

10. “Не оставяйте грешките незабелязани...“ – Никога не оставяйте грешки, които сте установили, да объркват читателя. Можете да ги подчертаете, чрез отпечатване на низ, когато такава се прояви.

11. “ ... освен ако не сте я скрили умишлено” – Отново изключение на правилото. Ако имате основателна причина – „заглушете“ грешката, но дори тогава бъдете ясни, че тя съществува.

12. „Ако сте изправени пред двусмислие – въздържайте се от изкушението на предположението“ – това стана малко по-дълго, но в общи линии идеята тук е, че вашият код трябва да е ясен, специфичен и красив. Вие трябва да избягвате конструкции с два или повече избора, които се „подразбират“ – вие може да ги „подразбирате“, но този който ще работи с вашия код или с вашето приложение – може и да не ги разбира.

13. „Трябва да има един – и за предпочитане само един – очевиден начин да свършите нещо...“ – Това елиминира объркването.

14. „ ...въпреки, че този път може да не е толкова очевиден първоначално, освен ако не сте холандец“ – това е препратка към създателя на Python – Guido van Rossum, който е единствения човек, за който всичко в Python е очевидно. Поради очевидната причина, че е създателя на Python.

15. „Сега“ е по-добре от „никога” – Не прекарвайте твърде много време в планиране и предварителна подготовка; Открийте това, което върши работата и повторете (или „отстранете даден проблем сега, вместо да отлагате“). Още по-кратко: Не отлагайте неизбежното.

16. “... въпреки, че „никога“ често пъти е по-добре от „точно сега” – Никога не „поемайте“ по път, за който не сте сигурни, че ще имате възможност да се върнете. Случвало ли ви се е, да ви дойде на ум страхотна идея, докато шофирате по магистралата или докато си лягате? Знайте, че е по-добре да отложите нейното записване за по-късно, отколкото мигновено да зарежете всичко друго, за да я запишете.

17. „Ако внедряването на вашата идея е трудно за обяснение, значи идеята е лоша“ – Ако внедряването на дадена идея е усложнено, то определено не е просто, което означава, че е далеч от финалната си версия и не е добре да пристъпвате към него. Препратка към правило №3.

18. „Ако внедряването е лесно за обяснение, значи може би е добра идея“ – „Може би“ е ключова дума, защото понякога някои идеи са си лоши, без значение дали са лесни или трудни за осъществяване.

19. “Namespaces са една страхотна идея – да направим повече от тях!” – namespace е набор от символи, който се използва за да се организират обекти от различни видове, така че тези обекти да се намират чрез име. Единствения начин да опишете една дума е... Чрез още думи. Веднъж обаче, когато я наложите, хората започват да я използват, за да назоват цял набор от други, свързани помежду си думи, с тази една-единствена дума. Същото е в програмирането – всеки обект е набор от команди. Ние го „извикваме“ чрез неговото име.

Излишно е да казвам, че тези „правила“ са неофициални, което предполагам си личи от хумористичната им нотка, но в тях наистина са залегнали истини, родени от опита на различни програмисти по време на работата им с Python.

Ако имате базовите познания по Python и искате да ги надградите – подготвили сме перфектният курс за вас: „Python Fundamentals – юни 2018“. Не пропускайте своя шанс и се запишете още сега!

Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.