Saya tahu situasi ini dengan sangat baik. Ketika saya terjebak dengan cara itu saya mencoba untuk mengambil sudut pandang yang berbeda pada proyek.
1.) sudut pandang Pengguna / pelanggan - gunakan umpan balik
Sayangnya kami terperangkap dalam kode kami sehingga kami tidak dapat melihat kekurangan kami sendiri karena kami menggunakan aplikasi kami dengan cara kami mengkodekannya. Lihatlah bagaimana orang menggunakannya dan mencoba mencari tahu apa yang akan menjadi panduan pengguna paling intuitif. Bermain-main dengan prototipe UI. Ini tampaknya menyenangkan, tetapi jika Anda mengetahui bahwa Anda akan dipaksa untuk mengkode ulang sebagian besar kode Anda hanya dengan mengubah logika penggunaan daripada saatnya untuk memulai siklus desain ulang.
2.) Lakukan analisis fungsional kode Anda dan visualisasikan
Beberapa IDE dan kerangka kerja mendorong Anda untuk, misalnya, mencampur UI dan kode backend. Jika Anda membiarkan ini terjadi, suatu hari Anda akan menghadapi situasi bahwa basis kode Anda sulit dipertahankan karena samar-samar dan sulit untuk memutuskan ketergantungan. Terutama pencampuran kode UI dengan kode lain dapat menyebabkan kode spaghetti dan fungsi yang berlebihan. Bagilah kode Anda dalam blok fungsional seperti misalnya kelas basis data, kelas komunikasi, kelas UI, kelas inti dll. Kemudian visualisasikan fungsionalitas dengan alat grafis (saya menggunakan alat pemetaan pikiran) untuk mengetahui apakah struktur Anda cukup logis dan modular sehingga Anda dapat menggunakan kembali blok kode besar untuk proyek yang berbeda dan Anda dapat menggantinya dengan versi yang lebih baru tanpa sakit besar.
Cara terbaik untuk melakukan ini dalam pengalaman saya adalah membuat dokumen yang memvisualisasikan semua dependensi antara kelas Anda dan panggilan mereka dari kode Anda. Hasilnya adalah visualisasi desain antarmuka Anda. Jika kode peta ini terlihat seperti *** clusterf lengkap daripada saatnya untuk bertindak. Jika belum terjadi, Anda harus memikirkan konvensi penamaan yang sesuai yang mewakili struktur kode Anda sehingga Anda tidak perlu memikirkan bagaimana memanggilnya dan apa fungsinya.
3.) Gunakan pendekatan umum untuk jaminan kualitas
Favorit saya adalah FMEA. Dalam hal pengkodean, ini berarti tidak hanya menganalisis apa yang salah di masa lalu, tetapi juga memikirkan apa yang bisa salah. Contoh yang cukup umum adalah koneksi jaringan yang tiba-tiba terputus. Setelah Anda melakukan ini, Anda dapat mengklasifikasikan kondisi kesalahan dengan konsekuensi seperti kehilangan data, kerusakan, perhitungan yang salah dan menilai dampaknya pada pengguna. Jika belum selesai, definisikan kesalahan efisien dan kelas pengecualian serta rutinitas dapat membantu Anda menjaga kode Anda tetap bersih dan lurus. Cara terbaik adalah menerapkannya dalam setiap ketenangan kode baru sebelum bahkan mulai menulis hal lain. (Yah, aku bersalah tidak selalu mengikuti saran ini sendiri.)
Selain itu membantu saya untuk menghasilkan dan sering memperbarui "daftar proposal perbaikan" untuk kode saya sendiri. (Sejujurnya masih ada banyak kode dalam proyek saya, saya pasti tidak bangga.) Saya juga mencoba meluangkan waktu untuk mengumpulkan dan melihat kode praktik terbaik dari dokumentasi API, konferensi pengembang atau majalah pengembang.
Hingga saat ini, Anda tidak perlu menyentuh kode Anda. Ini hanya tentang mengetahui apa yang salah dan menemukan cara untuk menentukan cara meningkatkan kode Anda.
Akhirnya beberapa tips untuk pekerjaan sehari-hari dari kentut tua. Cobalah untuk menghindari menggigit lebih banyak daripada yang bisa Anda makan. Ini menyebabkan terlalu banyak tekanan untuk pengkodean yang bersih. Anda jarang mendapatkan waktu untuk melakukannya dengan benar, tetapi Anda harus meluangkan waktu untuk memperbaiki kekurangan setelahnya.
Tidak ada yang tahan lama seperti solusi sementara, tetapi ketika rusak sering terlambat untuk memperbaikinya tepat waktu. Contohnya adalah peretasan yang tidak baik atau pengecualian aneh yang saya gunakan untuk mendapatkan sesuatu untuk bekerja walaupun misalnya cacat pada kerangka dasar atau OS. Dan kemudian cacat diperbaiki atau versi baru hanya menjatuhkan API ...
Jika Anda terjebak dan dipaksa untuk menemukan solusi daripada membuat komentar dan mencatat yang harus ditinjau dari waktu ke waktu. Biasanya kita menjadi lebih baik dan lebih baik karena mempelajari sesuatu yang baru. Jika Anda menemukan cara yang lebih baik mengimplementasikannya secepat mungkin. Kalau tidak, Anda mungkin akan menemukan diri Anda sedang mengkodekan solusi untuk solusi dan pengecualian pengecualian suatu hari. (Dia yang tanpa dosa di antara kamu, biarkan dia melemparkan byte pertama kepadaku.)