14 poin oleh GN⁺ 2025-12-12 | Belum ada komentar. | Bagikan ke WhatsApp
  • Dalam budaya pengembangan perangkat lunak modern, nama proyek dan library semakin dipenuhi kata-kata arbitrer yang tidak terkait dengan fungsinya
  • Dulu, nama seperti grep, awk, sed, FORTRAN, COBOL secara langsung menjelaskan fungsi atau tujuannya, tetapi belakangan ini nama tanpa makna bermunculan di mana-mana
  • Tren ini makin cepat menyebar seiring meluasnya GitHub dan budaya startup, hingga hubungan antara nama dan fungsi benar-benar terputus
  • Biaya pemahaman dan beban kognitif meningkat, sehingga pengembang harus berulang kali melakukan penelusuran yang tidak perlu hanya untuk memahami peran tiap alat
  • Tulisan ini menyerukan pemulihan aturan penamaan yang jelas dan berpusat pada fungsi, serta menekankan bahwa untuk alat teknis, kejernihan dan profesionalisme harus didahulukan daripada branding

Perubahan dalam praktik penamaan perangkat lunak

  • Richard Stallman dalam ceramah EmacsConf 2022 menyebut pentingnya “nama yang mudah diingat” dan menekankan bahwa nama paket harus menunjukkan apa yang dikerjakannya
    • Ekosistem Emacs secara tradisional mempertahankan praktik penamaan berbasis fungsi seperti dired(editor direktori) dan eshell(shell Emacs)
  • Namun, pengembang modern cenderung memberi nama alat dengan kata benda acak, makhluk mitologi, atau karakter fiksi
    • Ini adalah perilaku yang di bidang teknis lain akan dianggap sebagai kurangnya profesionalisme

Masalah nama yang tidak bermakna

  • Sebagai contoh, nama alat seperti “Viper”, “Cobra”, “Melody”, “Casbin”, dan “Asynq” sama sekali tidak memberi petunjuk tentang fungsinya
    • Penulis menyebut pengalaman harus mencari di internet terlebih dahulu hanya untuk memahami penjelasan infrastruktur dari seorang teman
  • Di bidang rekayasa lain, nama biasanya menjelaskan struktur atau fungsi
    • Contoh: Golden Gate Bridge, Hoover Dam, I-beam, butterfly valve dengan jelas menunjukkan bentuk atau perannya
  • Di bidang kimia, seperti dalam tata nama IUPAC, nama ditetapkan agar merujuk tepat pada satu objek
    • Contoh: 2,2,4-trimethylpentane berarti satu molekul tertentu, dan tidak diberi nama sembarang seperti “Steve”

Aturan penamaan masa lalu dan keterputusan saat ini

  • Pada 1980-an, singkatan berbasis fungsi seperti grep, awk, sed, cat, diff adalah arus utama
    • Nama bahasa pemrograman seperti FORTRAN, COBOL, BASIC, SQL, Lisp juga mencerminkan tujuannya
  • Sejak 2010-an, penyebaran nama tanpa makna mulai meluas
    • Sebagian nama seperti MongoDB masih punya kaitan fungsi atau etimologi, tetapi setelah itu nama tak bermakna meningkat tajam di tengah GitHub dan budaya startup
    • Salah satu penyebab yang ditunjuk adalah kecenderungan meniru kisah sukses berbasis merek seperti Google

Biaya kognitif dan turunnya efisiensi pengembang

  • Nama seperti libsodium sulit ditebak fungsinya, sehingga pengembang harus berulang kali melakukan peralihan konteks
    • Waktu terbuang sia-sia hanya untuk menafsirkan “mengapa sodium?”
  • Semakin banyak dependensi sebuah proyek, semakin menumpuk pula pajak kognitif (cognitive tax) ini
    • Hal ini pada akhirnya menurunkan produktivitas pengembang
  • Penulis menyoroti bahwa saat memproses kalimat seperti “Viper, Cobra, Melody…”, sumber daya mental terbuang untuk menafsirkan token tanpa makna

Sanggahan umum dan bantahannya

  • “Nama yang mudah diingat lebih menguntungkan untuk pemasaran” → alat untuk pengembang bukan produk konsumen, dan kejelasan fungsi lebih penting
  • “Nama deskriptif itu membosankan” → kebosanan bisa diterima sebagai harga dari kejelasan, sama seperti alat bedah yang mungkin membosankan tetapi presisi
  • “Ini hanya untuk bersenang-senang” → semua pengguna harus menanggung biaya dari ‘kesenangan’ itu, dan ujungnya membuang waktu di seluruh industri
  • “Semua nama bagus sudah dipakai” → namespace, prefiks, dan kata majemuk bisa menjadi solusi, dan setidaknya nama harus tetap berkaitan dengan fungsi

Arah ke depan

  • Masalah ini dijelaskan bukan sebagai sesuatu yang jahat, melainkan hasil dari perubahan budaya
    • Saat pemrograman bergeser dari berpusat pada perusahaan ke berpusat pada komunitas, norma sosial melemah
  • Solusinya adalah pemulihan budaya aturan penamaan
    • Bukan melalui regulasi, melainkan lewat pemulihan profesionalisme, pendidikan, dan tekanan sosial
  • Nama library harus mencerminkan fungsinya, dan bila perlu kata majemuk serta ungkapan yang panjang pun boleh digunakan
    • Contoh: “http-request-validator” jauh lebih jelas daripada “zephyr”
  • Pisahkan maskot dari nama
    • Contoh: PostgreSQL menggunakan maskot gajah Slonik, tetapi nama produknya sendiri tetap mempertahankan makna fungsional
  • Jika itu bukan produk konsumen yang benar-benar membutuhkan branding, maka kejernihan dan profesionalisme harus diutamakan
    • Sebelum menempelkan “nama karakter anime favorit”, tanyakan pada diri sendiri: “apakah insinyur sipil akan memberi nama seperti ini pada sistem jembatan?”
  • Kesimpulannya, maraknya nama tanpa makna harus dihentikan dan kita perlu kembali ke bahasa profesional yang jelas
    • Kejelasan bukanlah kebosanan, melainkan penghormatan terhadap waktu dan sumber daya kognitif pengguna

Belum ada komentar.

Belum ada komentar.