Apa yang harus dilakukan setelah menyelesaikan proyek, tetapi sebelum saya pindah ke yang berikutnya?

8

Saya telah mempelajari ilmu komputer dan sekarang bekerja di sebuah perusahaan sebagai pengembang tunggal pada proyek Java yang cukup gesit selama hampir setahun. Proyek ini akan segera berhasil (setidaknya saya harap begitu!) Selesai.

Fungsionalitas inti ... berfungsi dan bahkan beberapa hal lain yang tidak ada dalam persyaratan awal. Saya bahkan punya banyak ide untuk fitur-fitur baru yang tidak perlu, tetapi akan membantu dengan kegunaan dan fungsionalitas program.

Beberapa bagian dari program ini bekerja dengan sangat baik, sementara bagian lain memiliki kode saya tidak sangat bangga ...

Sejak awal proyek saya telah belajar banyak dan karena itu tahu sekarang bagaimana secara teoritis menulis kode yang lebih baik di bagian-bagian itu - yang membuat Anda menyadari kesalahan yang Anda lakukan yang tidak Anda perhatikan sebelumnya!

Masalahnya: Tidak akan ada banyak waktu setelah proyek untuk melakukan apa pun, menulis ulang dari awal tidak mungkin. Dan menulis ulang hanya bagian-bagian buruk yang perlu masuk jauh ke fungsi inti -> membutuhkan banyak waktu!

Apakah ada metode / strategi bagaimana belajar dari kesalahan saya dan menjadikan proyek berikutnya lebih baik?

Apakah ada hal lain yang harus saya lakukan setelah menyelesaikan proyek, tetapi sebelum saya pindah ke yang berikutnya?

hamena314
sumber
3
Sebagian besar proyek perangkat lunak tidak ditulis ulang, dan tidak ada yang sempurna atau selesai kecuali mereka dinonaktifkan. Hasil yang paling mungkin adalah Anda pindah ke beberapa proyek baru dan memberikan perbaikan pemeliharaan pada proyek asli.
Robert Harvey
4
@gnat Pertanyaan ini jelas cocok dengan gambar nosional lingkup situs kami . Ini adalah aktivitas "disposisi" atau "post-mortem".
Thomas Owens
1
@ThomasOwens per bacaan saya, masalah di sini bukan topikalitas (cocok di sini dengan topik) tetapi kurangnya pertanyaan yang bisa dijawab. "Apa yang harus dilakukan ..."
agas
2
@gnat Ini meminta proses atau metodologi. Saya membaca ini sebagai meminta proses post-mortem untuk satu pengembang. Semua pengalaman saya ada di tim, jadi saya tidak bisa memberikan jawaban yang berguna.
Thomas Owens
3
@ThomasOwens: Ini agak luas. Biasanya kami memerlukan pertanyaan untuk sedikit lebih spesifik daripada "apakah Anda punya tips untuk saya?"
Robert Harvey

Jawaban:

1

Kode yang baik seperti sains yang baik menunjukkan kemampuannya untuk bekerja / melakukan apa yang diinginkannya dengan cara yang disetujui oleh sekelompok rekan kerja Anda. Jika aplikasi ini berfungsi, Anda bagian dari perjalanan ke sana, tetapi Anda mungkin tidak dapat mengekspos kode ini kepada publik dan Anda bekerja sendiri.

Mulai proyek pribadi. Lebih cepat lebih baik. Ini mencapai beberapa hal:

  1. Kode adalah bentuk dokumentasi yang sangat baik untuk kode. Kami belajar dari contoh dan meskipun kami bisa mendapatkan lebih banyak wawasan ketika mendiskusikan atau mendokumentasikan kode, kami masih menyukai kode tersebut.
  2. Buat orang lain melihat kode Anda. Ajukan pertanyaan spesifik tentang Stackoverflow. Buat atau berkontribusi pada proyek sumber terbuka. Bergabunglah dengan grup pengembang lokal dan minta mereka melihatnya.
  3. Praktek Refactoring - Ambil bagian dari proyek Anda dan meniru cara Anda melakukannya di proyek sebelumnya dan kemudian refactor. Memiliki kontrol sumber untuk menunjukkan sebelum dan sesudahnya. Sekali lagi, kode itu penting.
  4. Uji pengetahuan coding yang baru Anda temukan. Bangun bagian lain dengan cara yang menurut Anda sekarang harus Anda lakukan. Apakah itu bekerja? Apakah ini benar-benar lebih baik daripada cara lama? Apa kriteria Anda? Lebih cepat, lebih mudah untuk menulis, mempertahankan?
  5. Tambahkan fitur ekstrim. Sekarang kita akan melihat apakah kode Anda benar-benar dapat dipertahankan. Tuliskan sebagian untuk RDBMS dan database Nosql. Bangun aplikasi web Anda untuk dijalankan di baris perintah juga. Buat file log yang melacak setiap kali seseorang tidak mematikan aplikasi dengan benar (saya katakan itu gila.).

Mungkin ada banyak catatan dan dokumentasi lain yang bisa Anda kumpulkan, tetapi kapan pun Anda bisa menyelesaikannya dalam kode, lakukanlah. Anda menjadi lebih baik dalam pemrograman seperti kebanyakan hal dengan latihan dan mudah-mudahan beberapa langkah untuk perbaikan. Ulasan rekan dapat membantu jika Anda menjadi lebih baik. Jika Anda memiliki aplikasi yang terpapar pada sekelompok pengguna yang dapat memberikan umpan balik, bahkan lebih baik. Mereka tidak akan tahu detailnya, tetapi akan mengenali peningkatan dalam kecepatan, desain yang lebih baik dan kemampuan Anda untuk melakukan perubahan / perbaikan lebih cepat. Ini tidak harus menjadi proyek yang luas. Tanyakan saja, "Apakah ini lebih baik atau tidak?"

JeffO
sumber