Илия обнови решението на 29.04.2013 13:39 (преди над 11 години)
+REPOSITORY = 'https://github.com/DeBillieJoe/python-retrospective'
+
+#Двадесет неща, които научих:
+#
+#1. Да се избягва повтарянето на код, ако го има значи не правим нещата
+# като хората, могат да станат по елегантни и кратки.
+#2. Документацията (docstring) е полезна, когато четеш чужд код или някой
+# друг чете твоя. Разбираш какво прави дадена функция с прочитането на
+# няколко реда (не код).
+#3. Да си тествам кода повече.
+#4. Да дефинирам променливите, функциите и класовете с подходящи имена.
+# Например: да няма променливи i, j, k...cur_pos и т.н.
+#5. Колкото по-рано започна решаването на задачите, толкова по добре.
+# Пращането на домашното рано носи много ценен feedback и възможност
+# да се improve-не кода.
+#6. Как работят lambda изразите и колко полезни са те.
+#7. Как се използват вградените колекции (OrderedDict, Deque..).
+#8. Как се използват setattr, getattr и getattribute
+#9. Че е хубаво да се подскаже кои методи/променливи не са публични.
+#10. Да изнасям константите извън конструктора.
+#11. Да използвам константи за низове.
+#12. format e много хубава функция.
+#13. Да използвам list comprehension като параметър на функция.
+# Например __str__ стана доста хубав
+#14. Че докато пишеш код английско/българския речник трябва
+# винаги да е под ръка
+#15. Да се използват функции с цел опростяване на кода, повторение и т.н.
+#16. Да пиша код, който е readable и да спазвам PEP8.
+#17. Как се използват generator функциите.
+#18. *args и *kwargs спестяват повторение на код и правят нещата много
+# елегантни. (както и помагат реда да е под 79 знака)
+#19. Има разлика между операторите is и ==.
+#20. Не е задължително всички променливи да се дефинират в конструктура.