Saya tidak benar-benar menulis proyek besar. Saya tidak memelihara database besar atau berurusan dengan jutaan baris kode.
Kode saya terutama "jenis scripting" jenis - hal untuk menguji fungsi matematika, atau untuk mensimulasikan sesuatu - "pemrograman ilmiah". Program terpanjang yang saya kerjakan hingga saat ini adalah beberapa ratus baris kode, dan sebagian besar program yang saya kerjakan sekitar 150.
Kode saya juga omong kosong. Saya menyadari ini beberapa hari yang lalu ketika saya mencoba untuk menemukan file yang saya tulis beberapa waktu yang lalu tetapi saya mungkin menimpa dan bahwa saya tidak menggunakan kontrol versi, yang mungkin membuat banyak dari Anda merasa ngeri kesakitan karena kebodohan saya.
Gaya kode saya berbelit-belit dan dipenuhi dengan komentar usang yang mencatat cara alternatif untuk melakukan sesuatu atau dengan baris kode yang disalin. Sementara nama variabel selalu dimulai dengan sangat bagus dan deskriptif, karena saya menambahkan atau mengubah hal-hal sesuai misalnya, sesuatu yang baru ingin diuji seseorang, kode akan ditimpa di atas dan ditimpa dan karena saya merasa hal ini harus diuji dengan cepat sekarang karena saya punya kerangka saya mulai menggunakan nama variabel jelek dan file masuk ke pot.
Dalam proyek yang sedang saya kerjakan sekarang, saya berada dalam fase di mana semua ini kembali menggigit saya secara besar-besaran. Tetapi masalahnya adalah (selain menggunakan kontrol versi, dan membuat file baru untuk setiap iterasi baru dan merekam semuanya dalam file teks di suatu tempat, yang mungkin akan membantu situasi secara dramatis) Saya tidak benar-benar tahu bagaimana cara melanjutkan peningkatan gaya coding saya yang sebenarnya.
Apakah pengujian unit diperlukan untuk menulis potongan kode yang lebih kecil? Bagaimana dengan OOP? Apa jenis pendekatan yang baik untuk menulis kode yang baik dan bersih dengan cepat ketika melakukan "pemrograman ilmiah" sebagai lawan bekerja pada proyek yang lebih besar?
Saya mengajukan pertanyaan ini karena seringkali, pemrograman itu sendiri tidak super kompleks. Ini lebih tentang matematika atau sains yang saya uji atau teliti dengan pemrograman. Misalnya, apakah kelas diperlukan ketika dua variabel dan suatu fungsi mungkin bisa mengatasinya? (Pertimbangkan ini juga umumnya situasi di mana kecepatan program lebih disukai berada di ujung yang lebih cepat - ketika Anda menjalankan 25.000.000 langkah waktu simulasi, Anda agak menginginkannya.)
Mungkin ini terlalu luas, dan jika demikian, saya minta maaf, tetapi melihat buku-buku pemrograman, mereka sering kali ditujukan pada proyek yang lebih besar. Kode saya tidak perlu OOP, dan itu sudah sangat pendek sehingga tidak seperti "oh, tapi file akan berkurang seribu baris jika kita melakukannya!" Saya ingin tahu bagaimana "memulai" dan memprogram dengan bersih pada proyek-proyek yang lebih kecil dan lebih cepat ini.
Saya akan dengan senang hati memberikan rincian yang lebih spesifik, tetapi semakin umum sarannya, semakin berguna, saya pikir. Saya pemrograman dengan Python 3.
Seseorang menyarankan duplikat. Biarkan saya jelaskan saya tidak berbicara tentang mengabaikan standar pemrograman standar. Jelas, ada alasan standar itu ada. Tetapi di sisi lain, apakah masuk akal untuk menulis kode yang mengatakan OOP ketika beberapa hal standar dapat dilakukan, akan jauh lebih cepat untuk ditulis, dan akan memiliki tingkat keterbacaan yang sama karena pendeknya standar. program?
Ada pengecualian. Lebih jauh, mungkin ada standar untuk pemrograman ilmiah di luar standar biasa. Saya bertanya tentang itu juga. Ini bukan tentang apakah standar pengkodean normal harus diabaikan ketika menulis kode ilmiah, ini tentang menulis kode ilmiah bersih!
Memperbarui
Hanya berpikir saya akan menambahkan jenis pembaruan "tidak-cukup-satu-minggu-kemudian". Semua saran Anda sangat membantu. Saya sekarang menggunakan kontrol versi - git, dengan git kraken untuk antarmuka grafis. Ini sangat mudah digunakan, dan telah membersihkan file saya secara drastis - tidak perlu lagi ada file lama, atau kode versi lama berkomentar "berjaga-jaga".
Saya juga menginstal pylint dan menjalankannya pada semua kode saya. Satu file mendapat skor negatif pada awalnya; Aku bahkan tidak yakin bagaimana itu bisa terjadi. File utama saya dimulai pada skor ~ 1,83 / 10 dan sekarang berada di ~ 9,1 / 10. Semua kode sekarang sesuai dengan standar. Saya juga menabraknya dengan mata saya sendiri memperbarui nama variabel yang telah ... uhm ... salah, dan mencari bagian untuk refactor.
Secara khusus, saya mengajukan pertanyaan baru-baru ini di situs ini tentang refactoring salah satu fungsi utama saya, dan sekarang jauh lebih bersih dan jauh lebih pendek: alih-alih fungsi yang panjang, bengkak, jika diisi / diisi, sekarang kurang dari setengah ukuran dan lebih mudah untuk mencari tahu apa yang sedang terjadi.
Langkah saya berikutnya adalah menerapkan semacam "unit test". Maksud saya file yang bisa saya jalankan di file utama saya yang melihat semua fungsi di dalamnya dengan pernyataan tegas dan coba / pengecualian, yang mungkin bukan cara terbaik untuk melakukannya, dan menghasilkan banyak kode duplikat, tetapi saya akan terus membaca dan mencoba mencari cara untuk melakukannya dengan lebih baik.
Saya juga telah memperbarui secara signifikan dokumentasi yang telah saya tulis, dan menambahkan file tambahan seperti spreadsheet excel, dokumentasi, dan makalah terkait ke repositori github. Agak terlihat seperti proyek pemrograman nyata sekarang.
Jadi ... saya kira ini semua untuk mengatakan: terima kasih .