Saya sedang mempersiapkan memoar tentang "Mengapa (beberapa) proyek TI menjadi terlalu rumit dan bagaimana cara menghindarinya?".
Jika Anda pernah menemukan proyek yang memiliki kode kompleks atau sulit untuk dipelihara, bagaimana Anda bisa menjalaninya?
Jika Anda harus memilih di antara beberapa aplikasi untuk digunakan dalam proyek Anda, apa yang akan menjadi prioritas utama Anda dalam fungsi mereka dan mengapa?
project-management
programming-practices
development-process
secara dagofly
sumber
sumber
Jawaban:
Dokumen, Dokumen, Dokumen!
Saya bekerja dengan beberapa kode MVC yang cukup kompleks, dan baru sekarang saya benar-benar memahami cara kerjanya, bukan menerimanya dengan keyakinan. Setiap kali saya membuat perubahan yang sulit saya pahami, saya memberikan komentar pada kode di bagian itu untuk membantu memperjelas apa yang terjadi. Itu mungkin tidak membantu saya karena tidak ada di sana, tetapi itu akan membantu orang berikutnya di sekitar. Saya juga ingin meminta programmer lain di sekitar saya untuk melihat perubahan saya untuk melihat apakah mereka jelas.
Perusahaan saya memiliki wiki internal yang kami gunakan untuk mendokumentasikan banyak tugas meta yang kami lakukan, seperti masalah server virtual, pertanyaan umum, dll. Setiap kali saya menemukan sesuatu yang belum pernah saya lakukan sebelumnya tetapi harus sering dilakukan, saya periksa untuk melihat apakah ada wiki di atasnya. Jika tidak ada saya akan membuatnya. Lebih banyak orang terlibat di dalamnya juga baru-baru ini, jadi saya berharap ini akan tumbuh lebih cepat. Saya pikir itu sangat membantu komunikasi dari tugas-tugas duniawi yang kita miliki.
sumber
Saya tidak berpikir Anda dapat sepenuhnya menghindari kompleksitas dari waktu ke waktu, tetapi ada beberapa cara untuk menguranginya:
Semua ini agak tergantung pada apa proyek sebenarnya memerlukan. Kadang-kadang, misalnya, akan bermanfaat untuk menerima kompleksitas dengan imbalan kinerja. Tidak semua kode kompleks selalu merupakan hal yang buruk. Secara umum, saya pikir mengikuti pedoman ini akan membantu.
sumber
hutang teknis
refactor untuk menghilangkan
perubahan bisnis
beradaptasi dan menghapus
perubahan alat
alat baru, arsitektur lama yang sama = ketidakcocokan impedansi
sumber
Selain itu, tahan godaan untuk menambahkan peretasan cepat karena kodenya sudah kompleks / buruk / sudah diretas. Dalam pengalaman saya, Anda akan berakhir dengan kompleksitas eksponensial yang lebih banyak.
sumber