Saya telah menjadi programmer yang kesepian dalam pekerjaan saya untuk waktu yang cukup lama. Biasanya saya sudah membaca artikel dan posting tentang
- Sistem Kontrol Versi
- Integrasi / Pengiriman berkelanjutan
- Metodologi pengembangan: Scrum, Waterfall, V-Model, Agile, XP, dll.
- Manajemen Proyek Perangkat Lunak
Tetapi hampir semuanya tampaknya berfokus pada TIM. Saya bukan tim, jadi apa set praktik minimum yang pasti untuk hanya satu programmer? Pertimbangkan kondisi berikut:
- Saya tidak memiliki konflik dengan kode orang lain.
- Saya tidak perlu memelihara pohon file / direktori, lingkungan pengembangan saya peduli tentang versi dengan sendirinya (pengembangan berbasis gambar).
- Tidak ada persyaratan formal, pengguna saya tidak tahu apa yang mereka inginkan dan mereka setuju.
- Satu-satunya yang mungkin tertarik untuk memberikan rilis atau dokumentasi adalah saya, pada dasarnya pelanggan menginginkan HASIL dan tidak peduli dengan metodologi perangkat lunak, dll.
Pandangan saya adalah saya tidak ingin menghabiskan (terlalu banyak) waktu dan energi untuk hal-hal yang tidak berhubungan langsung dengan kebutuhan pelanggan. Ada rekomendasi?
Jawaban:
Tidak ada jawaban yang tepat untuk pertanyaan ini karena itu tergantung pada masing-masing orang. Jika Anda menggunakan iPad untuk melakukan semua pekerjaan dev Anda dan klien Anda senang dengan Anda, Anda tidak punya alasan untuk berubah sama sekali.
Namun, jika saya berada di posisi Anda, saya akan sangat menegakkan yang berikut:
sumber
Kontrol versi adalah keharusan mutlak bagi setiap programmer, bahkan seorang pun. Ini berarti Anda dapat memulihkan secara sederhana dan cepat dari file yang dihapus dan perubahan kompleks yang salah.
Pada dasarnya itu menyelamatkan Anda dari omong kosong bodoh yang Anda lakukan ketika Anda pergi kerja digantung.
sumber
Seperti yang orang lain katakan, kontrol versi atau manajemen kode sumber sangat penting. Gunakan DVCS, dan pelajari semua tentangnya. Tidak masalah yang mana itu, meskipun mungkin menguntungkan Anda jika Anda memilih yang populer: git atau lincah.
Hal lain yang saya tidak lihat disebutkan, adalah skrip pembuatan satu langkah . Ini bukan integrasi terus menerus langsung (frasa itu rentan terhadap BS menurut saya), tetapi alat yang sangat berguna. Setiap kali Anda perlu melakukan pembaruan darurat, Anda bisa menjalankan skrip dan selesai dengan itu. Ketika mendekati akhir proyek, itu juga terjadi bahwa beberapa bangunan diperlukan per hari. Pengalaman saya adalah bahwa itu sangat bermanfaat, bahkan jika proses pembuatannya tidak terlalu rumit. Anda bahkan dapat menambahkan kemampuan mengunggah ftp, laporan dalam surel, menjalankan pengujian unit, membangun installer, menandatangani dll. Memiliki skrip yang ditulis sejak awal mudah untuk mempertahankan dan memperluas dengan langkah-langkah lebih banyak saat proyek berlangsung.
sumber
Saya hanya akan menjawab satu, kontrol versi sangat penting untuk proyek apa pun dan bukan hanya untuk tim. Dibutuhkan sedikit waktu ekstra ketika Anda menggunakannya tetapi memberikan sejarah yang kaya bagi Anda untuk kembali, itu bukan peluru perak tapi itu tentu baik untuk dapat kembali ke copy yang berfungsi jika itu benar-benar fitur eksperimental telah merusak sebagian besar aplikasi.
sumber
Kontrol versi mutlak harus. Bukan hanya karena menjaga sumbernya ok, tetapi karena sumber arkeologi. Setahun dari tidak dapat memeriksa bagaimana suatu kelas atau prosedur berevolusi dapat menyelamatkan banyak rasa sakit jika Anda mencoba untuk "memperbaiki" beberapa kode aneh.
Untuk metodologi - Saya sangat merekomendasikan manifesto programmer . Biasanya memberikan hasil yang luar biasa dalam tim kecil karena nol overhead dan tidak harus tetap di kepala Anda bagaimana sekelompok J2EE portlet yang diaktifkan JSR-kepatuhan-MVC berbasis CMS kerangka kerja aplikasi web wadah aplikasi layanan CMS bekerja .
sumber