96 poin oleh xguru 2024-03-04 | 7 komentar | Bagikan ke WhatsApp

Pengembangan

  • Mulai dari kecil lalu kembangkan: saat membuat sistem baru atau menambahkan fitur ke sistem yang sudah ada, mulailah dengan versi yang sangat sederhana dan hampir tidak memiliki fitur yang diperlukan, lalu kembangkan secara bertahap
  • Ubah satu hal pada satu waktu: saat pengujian gagal atau fitur tidak berfungsi selama pengembangan, akan jauh lebih mudah menemukan masalah jika hanya satu perubahan yang dilakukan pada satu waktu
  • Tambahkan logging dan penanganan error sejak awal: saat mengembangkan sistem baru, menambahkan logging dan penanganan error sejak tahap awal sangat berguna
  • Setiap baris kode baru harus dijalankan setidaknya sekali: lakukan pengujian sebelum fitur benar-benar selesai
  • Uji bagian-bagiannya sebelum menguji keseluruhan: bagian yang telah diuji dengan baik akan menghemat waktu
  • Semua hal memakan waktu lebih lama dari perkiraan: terutama dalam pemrograman, semuanya cenderung memakan waktu lebih lama dari yang dibayangkan
  • Pahami kode yang sudah ada terlebih dahulu: sebelum menambahkan fitur baru, Anda harus memahami solusi yang ada saat ini. Membaca kode adalah keterampilan yang sama pentingnya dengan menulis kode
  • Baca dan jalankan: ada dua cara yang saling melengkapi untuk memahami kode, yaitu membaca kode dan menjalankannya

Pemecahan masalah

  • Bug selalu ada: pendekatan "benar sejak awal" bukan pendekatan yang baik
  • Tangani laporan masalah: pengembang perlu meluangkan waktu untuk menangani laporan masalah dari pelanggan dan memperbaiki bug. Dengan begitu, Anda bisa jauh lebih memahami apa yang ingin dilakukan pelanggan, bagaimana sistem digunakan, seberapa mudah atau sulit memecahkan masalah, dan seberapa baik sistem dirancang
  • Reproduksi masalah: langkah pertama dalam memperbaiki bug adalah mereproduksi masalahnya. Setelah itu, setelah perbaikan ditambahkan, pastikan masalahnya benar-benar hilang
  • Setelah memperbaiki error yang diketahui, lihat apa yang tersisa: saat ada beberapa masalah, perbaiki dulu semua masalah yang diketahui lalu periksa gejala yang masih tersisa
  • Jangan anggap itu kebetulan: saat menguji dan memecahkan masalah, jangan percaya pada kebetulan; selidiki. "Mengubah nilai timer lalu sistem jadi lebih sering restart bukan kebetulan. Fitur baru ditambahkan lalu fitur lain yang tidak terkait menjadi lebih lambat? Bukan kebetulan. Selidiki lebih lanjut"
  • Gunakan timestamp untuk menghubungkan kejadian: manfaatkan timestamp dari peristiwa saat melakukan pemecahan masalah

Kolaborasi

  • Tatap muka memiliki bandwidth tertinggi: saat mendiskusikan cara memecahkan masalah, tatap muka lebih baik daripada semua metode lain (video, telepon, chat, email)
  • Rubber duck debugging: saat buntu menghadapi masalah, menjelaskan masalah itu kepada rekan kerja dapat membuat Anda menyadari solusinya. Bahkan jika rekan tersebut tidak mengatakan apa pun, sering kali percakapan itu sendiri membuat Anda sadar di mana letak masalahnya. Kedengarannya seperti sulap, tetapi ternyata sangat sering berhasil
  • Bertanya: saat memahami kode, membaca dan menjalankannya sering kali merupakan cara yang baik. Namun, jika memungkinkan untuk bertanya kepada orang yang mengetahuinya (mungkin penulis aslinya), gunakan cara itu juga
  • Bagikan penghargaan: berikan penghargaan kepada yang memang layak menerimanya. Alih-alih berkata, "Kami mencoba ...", katakan, "Marcus yang memunculkan ide untuk dicoba." (jika memang begitu). Sebutkan secara aktif siapa saja yang telah membantu atau berkontribusi

Lain-lain

  • Coba saja: jika Anda tidak yakin bagaimana suatu fitur bahasa bekerja, tulis program kecil untuk mengujinya
  • Tidur: saat menghadapi masalah sulit, ada baiknya tidur semalam sebelum mengambil keputusan
  • Perubahan: jangan takut sesekali mengganti peran atau pekerjaan. Bekerja dengan orang lain, pada produk yang berbeda, atau di perusahaan yang berbeda itu memberi rangsangan baru
  • Terus belajar: salah satu kelebihan terbesar pengembangan perangkat lunak adalah selalu ada ruang untuk belajar dan mengetahui lebih banyak. Cobalah berbagai bahasa pemrograman dan alat, baca buku tentang pengembangan perangkat lunak, dan ikuti kursus MOOC. Perbaikan kecil yang terus bertambah akan membawa perubahan nyata pada pengetahuan dan kemampuan Anda

7 komentar

 
ohyecloudy 2024-03-07

Tatap muka memiliki bandwidth paling tinggi — ungkapan yang bagus.

 
askurios8 2024-03-06

+1.

 
bluekai17 2024-03-05

Debugging rubber duck. Bahkan saat menjelaskannya kepada orang yang sebenarnya tidak paham pemrograman, kita jadi menyadari apa masalahnya.

 
bohblue23 2024-03-04

+1.

 
ep6tri 2024-03-04

Ini benar-benar prinsip yang sangat berharga.

 
tested 2024-03-04

+1

 
bichi 2024-03-04

Wah, semuanya kata-kata yang bagus. Agak disayangkan bahwa tatap muka memiliki bandwidth paling tinggi. Semoga teknologinya berkembang lebih jauh.