Изпълнявах rubocop по моя проект и коригирах оплакванията, които повдигна.
Едно конкретно оплакване ме притесни
Do not prefix reader method names with get_
Не можах да разбера много от това оплакване, затова погледнах изходния код в github.
Намерих този фрагмент
def bad_reader_name?(method_name, args)
method_name.start_with?('get_') && args.to_a.empty?
end
def bad_writer_name?(method_name, args)
method_name.start_with?('set_') && args.to_a.one?
end
Така че съветът или конвенцията е следният:
1) Всъщност те ни съветват да не използваме get_, когато методът няма аргументи. в противен случай позволяват get_
2) И ни съветват да не използваме set_, когато методът има само един аргумент. В противен случай позволяват set_
Каква е причината зад тази конвенция или правило или съвет?