Решение на Ретроспекция от Емил Гелев

Обратно към всички решения

Към профила на Емил Гелев

Резултати

  • 0 точки от тестове
  • 6 бонус точки
  • 6 точки общо
  • 0 успешни тест(а)
  • 0 неуспешни тест(а)

Код

REPOSITORY = 'https://github.com/egelev/python-retrospective.git'
# 1. Да си пиша домашните навреме.
# 2. Да се изпoлзва range() за представяне на интервали е за предпочитане,
# дори и като ключ в някои структури.
# 3. Данни, които не трябва да бъдат променяни, да се декларират като
# КОНСТАНТИ.
# 4. Данни, които са нужни само на една функция, да се декларират в самата
# функция.
# 5. Данни, за които не се предполага да се променят по време на изпълнение
# на програмата, да бъдат пазени в immutable типове.
# 6. Да се избягват дефолтни стойностти в immutable данни. За предпочитане
# е да се използват възможностите на езика за обработка на такива случай,
# например else клаузата на цикличните структури.
# 7. Да не поставям коментари в глобалния скоуп или на други произволни места,
# а само в документацията или другите предвидени случаи от PEP8.
# 8. Всчики form..import.. декларации да бъдат в началото на файла.
# 9. Да се използват методите като setdefault(), вместо да се разглеждат
# отделни случай с if-else.
# 10. Да използвам готовите генератори, където е възможно, вместо да пиша
# yield.
# 11. Да изпозлвам готовите функци като zip, вместо да имплементирам
# нещо, което се държи като тях, с много излизшни случай.
# 12. Да дефинирам помощните функции в scope-а на функцията, която ги
# използва.
# 13. Да не използвам global променливи. Също и nonlocal.
# 14. Да използвам подходящите структури, като deque или OrderedDict, вместо
# сам да имплементирам подобно поведение.
# 15. Да използвам структура в по-външен ( но не глобалния ) scope за
# кеширане във функции, вместо подразбиращи се аргументи.
# 16. Да дефинирам собствени изключения, като само наследявам клас Exception,
# без да дефинирам излишни методи.
# 17. Да чета внимателно условието и да внимавам с форматирането.
# 18. Да чета документацията за методи, за които не съм сигурен за какво
# служат точно.
# 19. Да използвам __setitem__, за да предефинирам оператор []
# 20. Да използвам консистентни имена за променливи, константи и функции.
# 21. Винаги да пускам тестовете, преди да пращам решения :).

История (1 версия и 1 коментар)

Емил обнови решението на 29.04.2013 16:45 (преди почти 11 години)

+REPOSITORY = 'https://github.com/egelev/python-retrospective.git'
+
+# 1. Да си пиша домашните навреме.
+# 2. Да се изпoлзва range() за представяне на интервали е за предпочитане,
+# дори и като ключ в някои структури.
+# 3. Данни, които не трябва да бъдат променяни, да се декларират като
+# КОНСТАНТИ.
+# 4. Данни, които са нужни само на една функция, да се декларират в самата
+# функция.
+# 5. Данни, за които не се предполага да се променят по време на изпълнение
+# на програмата, да бъдат пазени в immutable типове.
+# 6. Да се избягват дефолтни стойностти в immutable данни. За предпочитане
+# е да се използват възможностите на езика за обработка на такива случай,
+# например else клаузата на цикличните структури.
+# 7. Да не поставям коментари в глобалния скоуп или на други произволни места,
+# а само в документацията или другите предвидени случаи от PEP8.
+# 8. Всчики form..import.. декларации да бъдат в началото на файла.
+# 9. Да се използват методите като setdefault(), вместо да се разглеждат
+# отделни случай с if-else.
+# 10. Да използвам готовите генератори, където е възможно, вместо да пиша
+# yield.
+# 11. Да изпозлвам готовите функци като zip, вместо да имплементирам
+# нещо, което се държи като тях, с много излизшни случай.
+# 12. Да дефинирам помощните функции в scope-а на функцията, която ги
+# използва.
+# 13. Да не използвам global променливи. Също и nonlocal.
+# 14. Да използвам подходящите структури, като deque или OrderedDict, вместо
+# сам да имплементирам подобно поведение.
+# 15. Да използвам структура в по-външен ( но не глобалния ) scope за
+# кеширане във функции, вместо подразбиращи се аргументи.
+# 16. Да дефинирам собствени изключения, като само наследявам клас Exception,
+# без да дефинирам излишни методи.
+# 17. Да чета внимателно условието и да внимавам с форматирането.
+# 18. Да чета документацията за методи, за които не съм сигурен за какво
+# служат точно.
+# 19. Да използвам __setitem__, за да предефинирам оператор []
+# 20. Да използвам консистентни имена за променливи, константи и функции.
+# 21. Винаги да пускам тестовете, преди да пращам решения :).