-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor component #5
Conversation
This change is intended to make it easier for those who are completely beginners in programming to understand the code
'''Return children of node.''' | ||
return directory.get('children') | ||
"""Return children of node.""" | ||
return directory.get('children', []) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Хорошо бы добавить тест, проверяющий это поведение, но не критично.
src/hexlet/fs/__init__.py
Outdated
'name': name, | ||
'meta': meta, | ||
'type': 'file', | ||
} | ||
|
||
|
||
def mkdir(name, children=[], meta={}): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Думаю, что лучше не игнорировать ошибку про мутабельные значения по-умолчанию. Иначе студенты могут смотреть на такое решение и думать, что это ок, и даже не будут знать про нюансы работы.
Если думаете, что будет непонятно, то вполне ок в комментариях пояснить или дать ссылку на какой-нибудь гайд, объясняющий эту особенность.
setup.cfg
Outdated
@@ -7,6 +7,15 @@ ignore = | |||
WPS412 # allow __init__.py with logic | |||
DAR101 # allow missing parameters in Dockstring | |||
DAR201 # allow missing Returns in Docstring | |||
# ignored to make it easier for beginners to understand the code |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Точно ли фиксы усложнят код здесь и стоит ли их глушить прямо для всего проекта?
Про WPS226 (string constant over-use) логичнее заигнорить для тестов только, т.к. именно там у нас много констант строковых и это в целом ок.
По остальным правилам я бы все-таки подумал еще, и к каждому в комментах хорошо бы написать, что это за правило и почему мы его выключаем.
FIX #1
В геттерах и чекерах заменено обращение к значениям словаря через метод
.get
на обращение по ключу.В
get_children
сохранено обращение через.get
с установкой значения по умлочанию[]
FIX #3
Исправлено неправильное
test_get_meta
на правильноеtest_get_children
FIX #4
Ошибки все понятные и устранить их не сложно. Но в данном случае не стоит. Для студентов будет сложнее понять код.
Предлагаю заигнорить в
setup.cfg
следующие: