Anda seorang Programmer Buruk. Ingat Itu.



Singkatnya, sebagai sebuah industri, kita semua berbau busuk.

oleh Jared Richardson • 17 Juni 19 • Zona Agile • Opini

Berapa banyak developer berpikir mereka adalah programmer yang baik? Tidak. Kita semua sangat buruk dengan apa yang kita lakukan. Kami tidak dapat mengingat semua method yang dipakai, jadi kami menggunakan autocompleting IDEs untuk mengingatkan. Dan untuk bahasa pemograman yang telah kita habiskan dalam waktu bertahun-tahun, dalam beberapa dekade, apakah benar-benar di pelajari? Kami bahkan tidak bisa mengetik syntak dengan benar, kami mengandalkan compilers yang memeriksa dan memperbaikinya.

Bahkan ketika saya memulainya dengan kebenaran logika sebuah code ... Saya melihat grafik yang menunjukkan tingkat kegagalan untuk proyek perangkat lunak. Proyek "kecil" (sekitar setahun untuk 8 orang) memiliki tingkat keberhasilan 46 persen. Itu hampir setengahnya. Setiap ada proyek baru merosot 2 persen untuk proyek yang menelan biaya 10 juta atau lebih. Dengan kata lain, proyek kami hampir selalu gagal.

Kami terus-menerus menulis code yang merusak fitur yang ada. Kami menambahkan fitur dengan cara yang tidak seimbang. Kami membuat fitur yang tidak diinginkan siapa pun.

Singkatnya, sebagai sebuah industri, kita semua berbau busuk.

Anda bisa menolak suara "kata hati" Anda, suara di kepala Anda yang selalu membela dan memberi tahu betapa hebatnya Anda. Anda juga dapat mengambil sikap khas seorang developer bahwa "yang melakukan kesalahan itu orang lain". Anak saya yang berumur tujuh tahun juga dapat melakukan itu.

Atau Anda bisa menerimanya. Akui saja, manusia tidak pandai pemrograman. Ini adalah tugas yang membutuhkan kompleksitas dan detail luar biasa dari otak yang tidak berfungsi seperti itu. Itu bukan bagaimana cara kita memandangnya. Kita mungkin menikmati pemrograman, kita mungkin menemukan "kenyamanan" dan  menghabiskan banyak waktu, kita mungkin menghabiskan malam dan akhir pekan untuk membuat code dengan perasaan senang, tetapi setelah latihan bertahun-tahun, kita masih membutuhkan crutches untuk menolong kita.

Setelah Anda menerima kenyataan pahit ini, Anda bisa mulai bergerak maju. Setelah Anda mengakui pada diri sendiri bahwa Anda adalah programmer yang buruk, Anda dapat menghentikan semua sikap konyol dan berpura-pura bahwa Anda hebat, dan Anda dapat melihat-lihat dan menemukan tools terbaik yang membantu Anda terlihat lebih pintar.

Jika kita tahu bahwa kapan saja kita menyentuh code, kita mungkin akan memecahkan sesuatu, maka kita dapat melihat sekeliling untuk melihat apa yang menangkap kerusakan fungsional dalam code secepat mungkin: continuous integration system yang baik dikombinasikan dengan automated test suite yang bagus.

Namun, membuat suite pengujian yang baik sangat mirip dengan berolahraga, karena kita jarang meluangkan waktu untuk membuat strategi otomatisasi pengujian yang solid dan dapat diterapkan. Sesuatu seperti itu adalah tempat yang bagus untuk memulai.

Jika Anda menyadari bahwa kita semua menulis code buruk secara fundamental sama dengan yang dilakukan orang lain, maka Anda dapat melihat-lihat static code analysis tools. Jika Anda menulis Java, saya sangat merekomendasikan FindBugs.

Alat-alat ini menandai kesalahan umum. Dan maksud saya kesalahan yang sangat umum. Hal-hal yang Anda tidak percaya sebenarnya Anda lakukan. Tetapi entah bagaimana kami melakukannya hampir setiap hari.

Saya telah bertemu banyak tim pengembang yang tidak berpikir mereka membutuhkan static code analysis. Tapi saya tidak pernah menjalankan alat seperti FindBugs tanpa menemukan masalah nyata (baca: bukan teoretis) dalam kode produksi. Mereka belum belajar menyadari kesalahan mereka.

Jika Anda tidak tahu code apa yang digunakan oleh kasus uji manual atau otomatis Anda, lihat code coverage tool. Cobertura adalah favorit saya, tetapi saya agak bias karena saya punya andil dalam  memulainya.

Jika tim Anda terus-menerus terganggu dan ditarik ke arah yang berbeda, cobalah menangani unit kerja yang lebih kecil. Lebih mudah untuk menekan perubahan "darurat" jika Anda dapat meminta mereka untuk menunggu hanya dua atau tiga hari. Jika Anda memiliki tugas dua bulan, mereka tidak akan menunggu.

Dan maaf akui bahwa Anda juga sysadmin dan script penyebaran. Alat-alat seperti Rake dan Capistrano adalah alat yang sangat kuat yang dapat sepenuhnya mengotomatiskan pengembangan, pengujian, dan bahkan penyebaran produksi Anda. Setelah script, itu menjadi sangat mudah untuk digandakan. Anda akan kagum pada berapa banyak waktu ini akan menyelamatkan Anda.

Tentu saja, jika Anda telah mengotomatiskan penyebaran code Anda, itu akan konyol untuk terus mengetik perintah SQL dengan tangan. Migrasi basis data Ruby on Rail mungkin merupakan pemimpin awal di area ini, tetapi ada banyak alat lain yang tersedia saat ini. Salah satu alat yang populer adalah Liquibase.

Bagaimana dengan interaksi pelanggan? Ya, kami juga buruk dalam hal itu. (Pernah menggunakan frasa "pengguna bodoh"?) Coba pindahkan spesifikasi Anda ke format yang lebih tepat, dan bahkan dapat dieksekusi. DSL (Bahasa Khusus Domain) menyediakan berbagai cara untuk melibatkan pelanggan dengan bahasa yang tepat, tetapi dapat dimengerti.

Ada banyak sekali alat yang dapat kita gunakan untuk membuat diri kita terlihat lebih pintar. Begitu kami berhenti berjuang melawan kebutuhan akan alat, dan mengingatnya, kami mulai terlihat seperti pengembang yang cukup baik. Saya tidak akan memberi tahu siapa pun kejelekan anda, jika Anda tidak memberi tahu mereka tentang saya. ;)

Original diambil dari:

https://dzone.com/articles/youre-bad-programmer-embrace?edition=489294&utm_source=Daily%20Digest&utm_medium=email&utm_campaign=Daily%20Digest%202019-06-19

Penerjemahan bisa salah.

Revisi, bisa kontak info@lenmarc.com