Есть мнение, что использование слова file в качестве имени аргумента функции - это быдлокодерство. Так ли это? Это ведь не зарезервированное слово языка Python, так в чем может быть проблема?
Ответ
Проблема в том, что использование переменных с теми же именами что и у __buitins__ не позволяет в той же области видимости вызывать эти самые __buitins__. Например, часто переопределяют type, id, и если далее по коду необходимо воспользоваться встроенными одноимёнными функциями, то возникают проблемы. Ну и естественно эта проблема распространяется на аргументы функций, которые также распространяются на всю область видимости функции.
Моё мнение - пересечение области видимости с __builtins__ допустимо, но по возможности стараться избегать. Есть случаи, когда просто избежать не получается - например, когда определяешь схему базы данных и у тебя есть колонка с названием id. Не выкрутишься. В Django вместо id предпочтительнее использовать pk, например, который по умолчанию ссылается на id
Комментариев нет:
Отправить комментарий