Saya telah mengembangkan perangkat lunak selama tiga tahun terakhir, tetapi saya baru-baru ini terbangun betapa bodohnya praktik yang baik. Ini membuat saya mulai membaca buku Clean Code , yang mengubah hidup saya menjadi lebih baik, tetapi saya berjuang untuk mendapatkan wawasan tentang beberapa pendekatan terbaik untuk menulis program saya.
Saya memiliki program Python di mana saya ...
- gunakan argparse
required=True
untuk menegakkan dua argumen, yang keduanya merupakan nama file. yang pertama adalah nama file input, yang kedua adalah nama file output - memiliki fungsi
readFromInputFile
yang pertama memeriksa untuk melihat bahwa nama file input telah dimasukkan - memiliki fungsi
writeToOutputFile
yang pertama kali memeriksa untuk melihat bahwa nama file output dimasukkan
Program saya cukup kecil sehingga saya percaya bahwa memeriksa # 2 dan # 3 berlebihan dan harus dihapus, sehingga membebaskan kedua fungsi dari if
kondisi yang tidak perlu . Namun, saya juga dituntun untuk percaya bahwa "pemeriksaan ganda adalah ok" dan mungkin merupakan solusi yang tepat dalam program di mana fungsi-fungsi dapat dipanggil dari lokasi yang berbeda di mana penguraian argumen tidak terjadi.
(Juga, jika baca atau tulis gagal, saya memiliki try except
di setiap fungsi untuk memunculkan pesan kesalahan yang sesuai.)
Pertanyaan saya adalah: apakah yang terbaik untuk menghindari semua pengecekan kondisi berlebihan? Haruskah logika suatu program begitu solid sehingga pemeriksaan hanya perlu dilakukan sekali? Apakah ada contoh bagus yang menggambarkan hal ini atau sebaliknya?
EDIT: Terima kasih semua atas jawabannya! Saya telah belajar sesuatu dari masing-masing. Melihat begitu banyak perspektif memberi saya pemahaman yang jauh lebih baik tentang bagaimana mendekati masalah ini dan menentukan solusi berdasarkan persyaratan saya. Terima kasih!