Форум сайта python.su
FishHook, может быть это…. *внимание барабанная дрожь* декомпозиция
Офлайн
s0rg, PEP 8 - точно. Помню, что где-то про это читал, но не могу вспомнить где, но почему-то ставлю импорты именно в начале:) Спасибо!
Отредактировано (Янв. 16, 2012 19:33:00)
Офлайн
Господа, вы зря на меня набрасываетесь.
Каковы по вашему мотивы человека, когда он создает топик “Оцените код новичка”?
Видимо человек желает улучшить свои навыки, перенять кой-то опыт от более опытных коллег, а не вылизать до блеска эти 20 строчек кода и забить на всё.
“Я так делаю, потому что привык” - в Питоне зачастую приводит к конфузам, о чем я и намекнул топикстартеру, получился интересный тест.
Офлайн
Согласен, что два месяца вылизывать этот код - это перебор и топтание на месте. Стоит писать больше кода, переходить к ООП. А те вещи, о которых здесь говорят, придут со временем сами. Перфекционизм на ранних стадиях опасен :)
Но заявление о том, что вынесение кода в функции необходимо минимизировать из-за дороговизны вызова, звучит не очень корректно.
Офлайн
FishHook абсолютно прав, я мусолю этот топик не для полировки этой аппликации, а для того, чтобы узнать что-то новое. И, поверьте на слово, я много узнал и именно это обстоятельство заставляет меня продолжать топик.
Soteric тоже прав. Конкретно с этим кодом я немного засиделся, но два месяца не прошли бесследно. За это время я познакомился с Django и сделал на нем же свой первый сайт, адрес которого чуть левее, под аватаром. Ничего не стоит на месте.
Офлайн
CHAOSМусолить надо.
Ничего не стоит на месте.
Офлайн
CHAOSНе только в Python. Если переменная не нужна, то можно вызов ставить туда, где он нужен. по-моему достаточно наглядно. Если бы это len(matches) использовалось бы еще где-нибудь, тогда правильнее было бы сохранить его результат в переменной.
Пункт 2. total = len(matches). По старой привычке - это некий кэш. В Python в таких вещах нет необходимости?
5. Какая разница в наличии скобок? Кортеж - он и есть кортеж.Если работает и без них, то зачем их употреблять тогда? Впрочем это дело вкуса. Мне больше нравится без скобок. a, b = bla() создает иллюзию возврата двух значений, и это хорошо. Если еще и в функции стоит return a, b без скобок, то выглядит как-то эстетичнее на мой взгляд. Зачем мне показывать, что это кортеж, если мне нужны 2 значения?
Отредактировано (Янв. 17, 2012 22:50:47)
Офлайн