Я розробляю програмне забезпечення протягом останніх трьох років, але я нещодавно прокинувся, наскільки я невідомий щодо передового досвіду. Це змусило мене почати читати книгу « Чистий кодекс» , яка перевертає моє життя на краще, але я намагаюсь зрозуміти деякі найкращі підходи до написання моїх програм.
У мене програма Python, в якій я ...
- використовуйте argparse
required=True
для забезпечення двох аргументів, які є обома іменами файлів. перше - ім'я вхідного файлу, друге - ім'я вихідного файлу - мають функцію,
readFromInputFile
яка спочатку перевіряє, чи було введено ім'я вхідного файлу - мають функцію,
writeToOutputFile
яка спочатку перевіряє, чи було введено ім'я вихідного файлу
Моя програма є достатньо малою, що я вважаю, що перевірка в №2 та №3 є зайвою, і її слід зняти, тим самим звільняючи обидві функції від зайвих if
умов. Однак мене також припустили, що "подвійна перевірка нормальна" і може бути правильним рішенням у програмі, де функції можна було б викликати з іншого місця, де розбір аргументів не відбувається.
(Крім того, якщо читання чи запис не вдається, я маю try except
в кожній функції піднімати відповідне повідомлення про помилку.)
Моє запитання: чи найкраще уникати перевірки надмірних умов? Чи повинна логіка програми бути такою міцною, що перевірки потрібно робити лише один раз? Чи є якісь хороші приклади, які ілюструють це чи навпаки?
EDIT: Дякую всім за відповіді! Я щось навчився у кожного. Бачення такої кількості перспектив дає мені набагато краще розуміння способів підходу до цієї проблеми та визначення рішення, виходячи з моїх вимог. Дякую!