Python-ის ფილოსოფია -- "Simple is better than complex."¶
რას ნიშნავს ეს პრინციპი?¶
ეს ფრაზა არის Python-ის ფილოსოფიის ნაწილი, რომელსაც ეძახიან Zen of Python-ს.\ იგი გამოხატავს მთავარ გზამკვლევს Python პროგრამისტებისთვის.
- Simple (მარტივი): კოდი უნდა იყოს მარტივად წასაკითხი, გასაგები და მოსახერხებელი.\
- Better (უკეთესია): როდესაც შესაძლებელია, სირთულის ნაცვლად უნდა ავირჩიოთ მარტივი გადაწყვეტა.\
- Than complex (ვიდრე რთული): რთული გადაწყვეტილებები უფრო ძნელად გასაგებია, შეიძლება შეცდომები მოხდეს და მომავალი მხარდაჭერა გართულდეს.
მაგალითები¶
მარტივი კოდი¶
რთული კოდი (რომელიც თავიდან უნდა ავიცილოთ)¶
ორივე კოდი ერთსა და იმავე შედეგს იძლევა, მაგრამ პირველი უფრო მარტივია და ადვილად იკითხება.
დასკვნა¶
- მარტივი კოდი = ნაკლები შეცდომა, ადვილი წაკითხვა, უკეთესი სწავლა.\
- Python-ის ფილოსოფია გვირჩევს, ყოველთვის ვეძებოთ მარტივი და გასაგები გზა რთულის ნაცვლად.
Zen of Python -- პითონის ფილოსოფია¶
Python-ს აქვს სპეციალური ფილოსოფია, რომელსაც ხშირად "Zen of Python"-ს უწოდებენ.\ ეს არის 19 წესის ნაკრები, რომელიც პროგრამისტებს აძლევს გზამკვლევს კოდის დაწერისას.
შეიძლება ნახო პირდაპირ Python REPL-ში:
პრინციპები და ახსნა¶
1. Beautiful is better than ugly.¶
ლამაზი უკეთესია, ვიდრე უშნო.\ ➡ კოდი უნდა იყოს სასიამოვნო და მარტივი წასაკითხი, არა დაუგეგმავი და ქაოტური.
2. Explicit is better than implicit.¶
განსაზღვრული უკეთესია, ვიდრე განუსაზღვრელი.\ ➡ კოდი უნდა იყოს გასაგები და აშკარა, არა დამალული ან ბუნდოვანი.
3. Simple is better than complex.¶
მარტივი უკეთესია, ვიდრე რთული.\ ➡ სჯობს ავირჩიოთ მარტივი გადაწყვეტა, ვიდრე ზედმეტად რთული.
4. Complex is better than complicated.¶
რთული ჯობს დამაბნეველს.\ ➡ თუ სირთულე აუცილებელია, ის მაინც გასაგებად უნდა იყოს დაწერილი.
5. Flat is better than nested.¶
ბრტყელი სტრუქტურა ჯობს ჩადგმულს.\ ➡ თავიდან უნდა ავიცილოთ ზედმეტი ჩადგმული კოდი (nested loops, nested if).
6. Sparse is better than dense.¶
განიერი უკეთესია, ვიდრე გადატვირთული.\ ➡ whitespace და ცარიელი ხაზები კოდის წაკითხვას ამარტივებს.
7. Readability counts.¶
წაკითხვადობა მნიშვნელოვანია.\ ➡ კოდი იწერება ადამიანებისთვისაც და არა მხოლოდ კომპიუტერებისთვის.
8. Special cases aren't special enough to break the rules.¶
განსაკუთრებული შემთხვევები არ უნდა არღვევდეს წესებს.\ ➡ ერთგვაროვანი სტილი ყოველთვის სჯობს გამონაკლისების გამონახვას.
9. Although practicality beats purity.¶
თუმცა პრაქტიკულობა სჯობს სისუფთავეს.\ ➡ რეალურ ცხოვრებაში პრაქტიკული გზა ზოგჯერ იდეალურზე უკეთესია.
10. Errors should never pass silently.¶
შეცდომები არ უნდა დარჩეს უყურადღებოდ.\ ➡ ყოველთვის უნდა ვიცოდეთ, როცა შეცდომა ხდება.
11. Unless explicitly silenced.¶
თუ ისინი განზრახ არ არის ჩახშობილი.\ ➡ შეგვიძლია შეცდომა დავმალოთ მხოლოდ მაშინ, როცა ამას გარკვეული მიზანი აქვს.
12. In the face of ambiguity, refuse the temptation to guess.¶
ბუნდოვნების შემთხვევაში, უარი თქვი მიხვედრაზე.\ ➡ კოდი არ უნდა ეფუძნებოდეს ვარაუდებს.
13. There should be one-- and preferably only one --obvious way to do it.¶
უნდა არსებობდეს ერთი -- და სასურველია მხოლოდ ერთი -- აშკარა გზა.\ ➡ კოდის სტანდარტიზაცია და ერთიანი სტილი მნიშვნელოვანია.
14. Although that way may not be obvious at first unless you're Dutch.¶
თუმცა ეს გზა შეიძლება თავიდან აშკარა არ იყოს, თუ ჰოლანდიელი არ ხარ.\ ➡ ხუმრობითი შენიშვნა ავტორის (Guido van Rossum -- ჰოლანდიელი) მიმართ.
15. Now is better than never.¶
ახლა სჯობს არასოდესას.\ ➡ უმჯობესია მოქმედება ახლა, ვიდრე გადავადება უსასრულოდ.
16. Although never is often better than right now.¶
თუმცა ზოგჯერ არასოდეს სჯობს დაუფიქრებელ სწრაფ მოქმედებას.\ ➡ სიჩქარე და დაუფიქრებლობა შეიძლება პრობლემური იყოს.
17. If the implementation is hard to explain, it's a bad idea.¶
თუ ახსნა ძნელია, ეს ცუდი იდეაა.\ ➡ კოდი, რომელიც ვერ აიხსნება მარტივად, ცუდადაა დაგეგმილი.
18. If the implementation is easy to explain, it may be a good idea.¶
თუ ახსნა მარტივია, შეიძლება ეს კარგი იდეაა.\ ➡ გასაგები კოდი = კარგი კოდი.
19. Namespaces are one honking great idea -- let's do more of those!¶
ნეიმსპეისები დიდებული იდეაა -- მოდი უფრო მეტად გამოვიყენოთ ისინი!\ ➡ სახელების სივრცეები თავიდან გვაცილებს კონფლიქტებს.
შეჯამება¶
- Zen of Python არის Python-ის მთავარი ფილოსოფია.\
- მიზანია: კოდი იყოს მარტივი, გასაგები, ლამაზი და წაკითხვადი.\
- თუ ამ წესებს დავიცავთ, უკეთეს Python პროგრამისტებად ვიქცევით.