7 amalan pengekodan utama untuk pemaju lincah

Pembangunan perisian lincah bukan hanya mengenai prinsip dan amalan lincah. Untuk berjaya mengeluarkan perisian yang memberi kesan positif kepada pengguna akhir, menangani hutang teknikal, dan menggunakan dengan pasti, pasukan pengembangan juga harus mempertimbangkan amalan pengkodan dan standard seni bina mereka yang mendorong ketangkasan.

Pertimbangan yang lebih penting dipertaruhkan untuk organisasi teknologi. Sama sukarnya untuk mengembangkan perisian, bahkan lebih sukar untuk menggunakan peningkatan dan peningkatan secara berkala dalam jangka masa yang panjang. Devops CI / CD dan IAC (infrastruktur sebagai kod) sebahagiannya menangani satu faktor kritikal kerana automasi membolehkan kaedah yang boleh dipercayai dan berulang untuk menyebarkan aplikasi. Tambahkan ujian berterusan, dan pasukan pengembangan mempunyai cara untuk mengesahkan bahawa perubahan kod tidak mempengaruhi fungsi yang ada.

Walau bagaimanapun, apabila aplikasi semakin tua, pemaju asal beralih ke projek lain dan kadang-kadang syarikat lain. Apabila pembangun baru bergabung dengan pasukan, mereka mesti mempelajari seni bina perisian dan memahami kodnya sebelum mereka dapat mengubahnya dengan andal dan cekap.

Tambahan pula, pembangun yang membina aplikasi sering ingin mengembangkan yang baru. Mungkin merasa selesa dan aman untuk tetap mengikuti aplikasi yang anda kembangkan tetapi tetap menggunakan kod anda tidak sesuai untuk kerjaya atau organisasi anda.

Cara terbaik untuk beralih ke inisiatif pengembangan perisian yang baru dan menarik adalah menjadikan seni bina, aplikasi, dan kod anda mudah disokong oleh pembangun lain. Pasukan dan pembangun yang tangkas mesti menubuhkan dan menguatkuasakan amalan pengekodan yang menyokong pengembangan perisian yang berterusan.

1. Jangan mencipta semula roda

Peraturan pertama pengekodan: Jangan kod sesuatu yang tidak perlu dikodkan! Bagaimana?

  • Pertimbangkan untuk bertanya mengenai keperluan. Mengapa ciri penting? Siapa yang mendapat faedah? Lebih khusus lagi, terokai pilihan bukan pengekodan untuk menyelesaikan masalah. Kadang-kadang penyelesaian terbaik adalah tidak ada penyelesaian sama sekali.
  • Adakah seseorang di organisasi anda telah mengkodkan penyelesaian yang serupa? Mungkin ada perkhidmatan mikro yang hanya memerlukan peningkatan atau perpustakaan perisian yang memerlukan peningkatan kecil? Pastikan anda melihat asas kod organisasi anda sebelum membuat kod sesuatu yang baru.
  • Adakah terdapat penyelesaian pihak ketiga, termasuk alat SaaS yang berpatutan atau pilihan sumber terbuka, yang memenuhi keperluan minimum?
  • Pernahkah anda melihat repositori pengekodan terbuka seperti GitHub untuk contoh kod dan coretan yang memenuhi syarat pematuhan organisasi anda?

2. Pertimbangkan pilihan pengembangan kod rendah

Sekiranya anda perlu membuat kod penyelesaian, mungkin platform alternatif dengan kod rendah dapat memungkinkan pengembangan kemampuan dengan lebih berkesan dibandingkan dengan pengekodan dalam bahasa pengembangan seperti Java, .Net, PHP, dan JavaScript.

Platform dengan kod rendah seperti Caspio, Quick Base, Appian, OutSystems, dan Vantiq semuanya menyediakan alat untuk mengembangkan aplikasi dengan sedikit kod dan kadang-kadang walaupun tanpa pengekodan sama sekali. Setiap platform mengkhusus dalam keupayaan yang berbeza dan dengan itu sesuai untuk kelas aplikasi tertentu. Caspio, misalnya, memudahkan memasukkan borang dan aliran kerja ke laman web. Pangkalan Pantas mempunyai aliran kerja dan keupayaan automasi yang kuat, dan seni bina yang didorong oleh acara Vantiq sesuai untuk IoT dan aplikasi data masa nyata lain.

Ada kalanya pengekodan diperlukan, tetapi pembangun juga harus mahir dalam satu atau lebih pilihan pengembangan kod rendah dan mempertimbangkannya untuk kes penggunaan yang sesuai.  

3. Menguji automatik

Selain menulis kod yang memenuhi syarat, salah satu perkara terpenting yang perlu dilakukan oleh pembangun adalah mengujinya. Amalan pengembangan yang didorong oleh ujian dan alat ujian automatik telah matang, dan pasukan pembangunan harus menyertakan unit, regresi, prestasi, dan pengujian keselamatan sebagai bagian dari anggaran lincah mereka.

Selain mempunyai ujian untuk mengesahkan binaan dan pelepasan, ujian ini juga membantu menjadikan kod lebih disokong. Ujian adalah dokumentasi dan menetapkan kontrak bagaimana kod tersebut seharusnya berkelakuan. Apabila pembangun baru bergabung dengan pasukan dan secara tidak sengaja melaksanakan perubahan yang buruk, ujian berterusan menghentikan pembangunan dan memberikan maklum balas yang bermakna kepada pembangun agar dapat mengatasi masalah ini dengan cepat.

4. Luangkan semua parameter konfigurasi

Tidak boleh ada alasan bagi pembangun untuk menetapkan tetapan tahap sistem kod keras, nama pengguna dan kata laluan, atau maklumat konfigurasi lain dalam kod tersebut. Saya telah melihat pembangun mengambil jalan pintas semasa mengembangkan prototaip yang masuk ke persekitaran pengeluaran. Dalam seni bina masa kini, perkara ini tidak boleh dilakukan. Pengekodan keras bukanlah hutang teknikal tetapi amalan pengekodan yang malas dan tidak bertanggungjawab yang boleh membawa akibat yang besar. Sekiranya kod dapat diakses secara tidak sengaja, ia menimbulkan kerentanan keselamatan jika titik akhir atau bukti kelayakan terbuka.

Melangkah selangkah lebih jauh, ketika kod warisan sedang diusahakan, menangani konfigurasi dan parameter yang dikodkan keras harus menjadi keutamaan hutang teknikal yang tidak dapat dirundingkan.

5. Ikuti konvensyen penamaan dan sertakan komen agar kod dapat dibaca

Saya pernah bekerja dengan pemaju yang sangat berbakat yang tidak tahu bahasa Inggeris dengan baik dan bukan jurutaip terbaik. Dia akan membuat objek dengan nama seperti a , b, dan c dan kemudian membuat pemboleh ubah tempatan bernama zz , yy , xx . Dia akan berkomitmen untuk membersihkannya sebelum pelepasan tetapi jarang diikuti.

Anda tidak perlu mengadakan program pasangan atau massa untuk menyedari bahawa ini adalah amalan yang buruk.

Pasukan harus menerapkan konvensyen penamaan seperti Panduan Gaya JavaScript Google dan Panduan Gaya Java dan berkomitmen untuk memberi komen kod sekurang-kurangnya pada tahap modular dan idealnya di peringkat kelas. Di samping itu, organisasi harus mempertimbangkan untuk menggunakan alat analisis kod statik yang memberikan maklum balas kepada pembangun apabila kod perlu melakukan pemfaktoran semula untuk faktor struktur dan kebolehbacaan.

6. Periksa kod ke kawalan versi dengan kerap

Sekiranya anda tidak memeriksa kod ke dalam kawalan versi setiap hari atau lebih kerap, ini boleh menimbulkan konflik dan blok lain yang mempengaruhi pasukan. Satu kesalahan kecil boleh menyebabkan pasukan tangkas kehilangan komitmen pecut mereka atau membuat kerja tambahan untuk menyelesaikan pergantungan.

Pasukan harus bersetuju dengan konvensyen untuk memeriksa kod yang tidak siap untuk dihasilkan. Pendekatan konvensional merangkumi bendera ciri dan percabangan Git.

7. Elakkan pengekodan kepahlawanan dan kerumitan

Sebilangan besar pembangun yang saya kenal menjadi jurutera perisian profesional kerana mereka suka menyelesaikan cabaran pengekodan. Pengekodan adalah seni, sains, dan kraf, dan pembangun yang lebih baik mencari tugasan pengekodan yang memprovokasi pemikiran dan pelaksanaan yang elegan.

Kecuali ada garis kelabu antara menyelesaikan tugas perniagaan dan teknikal yang mencabar berbanding pengekodan heroik yang menjadikan pembangun seterusnya dengan kod yang sukar difahami dan rumit untuk dijaga.

Bagi kami yang telah membuat pengekodan beberapa waktu, kami ingat kemudahan Perl satu-liners atau menggunakan templat bersarang di C ++. Kadang-kadang ada alasan yang baik untuk menggunakan pendekatan ini, tetapi jika sekumpulan pemaju baru tidak memahami teknik ini, lebih sukar untuk mengubah kodnya. Kadang kala amalan pengekodan yang ringkas tetapi kurang elegan lebih baik.

Memacu ketangkasan dalam pembangunan perisian tangkas

Ritual yang tertanam dalam pengembangan scrum dan tangkas, termasuk komitmen, pendirian, tinjauan pecut, dan retrospektif kini menjadi praktik yang terbukti untuk memungkinkan kerjasama pasukan dan mendorong pelaksanaan yang berjaya. Tetapi untuk menunjukkan ketangkasan dalam jangka masa yang panjang, pembangun mesti memikul tanggungjawab dan amalan pengkodan yang memungkinkan sokongan jangka panjang dan kebolehpanjangan kod yang mereka kembangkan.

Pasukan pembangunan mesti melihat pandangan kritis terhadap amalan pengkodan mereka. Ia tidak cukup baik untuk demo dan dilancarkan hari ini; juga penting untuk membolehkan orang lain mengekalkan aplikasi dan kod dengan mudah.