Saya memberi nama variabel saya menggunakan konvensi .Net:
- camelCase untuk variabel dan bidang (Saya cenderung menggunakan _camelCase untuk bidang pribadi di kelas)
- PascalCase untuk metode, properti, dan kelas
Satu-satunya tempat saya menyimpang adalah pada konstanta dan Enums di mana saya sebenarnya lebih suka gaya Java SCREAMING_CAPS.
Basis kode perusahaan saya dipenuhi dengan gaya notasi semu-Hungaria dari VB6 dan VBScript, jika tidak, mis.
- s atau str untuk Strings
- i atau int untuk Ints
- d untuk desimal (atau terkadang ganda)
- o atau keberatan untuk segala jenis objek
Saya merasa ngeri setiap kali saya melihat gaya kode yang digunakan dalam kode orang lain (bahkan dalam kode greenfield, bukan hanya legacy cruft), dan saya menolak untuk menggunakan gaya itu sendiri. Saya telah mengemukakan standarisasi pada konvensi penamaan Net di masa lalu dan itu hanya diabaikan - orang-orang yang menulis dalam notasi Hongaria terus melakukannya, kita yang tidak suka saya terus menggunakan gaya kita sendiri; Saya agak takut jika kita melakukan standarisasi (yang saya terus mendorong, tetapi tidak ada orang lain yang peduli), itu akan menjadi notasi Hongaria dan bukan cara yang direkomendasikan dan kemudian saya akan dipaksa untuk menulis kode seperti itu .
Apakah saya membuat gunung dari molehill dalam hal ini? Haruskah saya tidak peduli jika kode tersebut dipenuhi dengan pengidentifikasi yang berlebihan dan bukan nama deskriptif, dan terus menggunakan cara saya sendiri dan mendorongnya untuk menjadi standar?
sumber
Jawaban:
Satu-satunya hal yang harus Anda perhatikan adalah bahwa Anda bekerja dalam sebuah tim di mana orang-orang tidak terlalu peduli untuk membersihkan barang. Itu sangat menyedihkan.
Lakukan apa yang Anda lakukan, terus menggunakan gaya modern dan mengundang orang (tetapi tidak memaksa mereka) untuk mengadopsinya juga. Tentu saja butuh waktu. Setelah beberapa waktu Anda akan melihat apakah itu pergi ke mana saja dan apa yang mungkin Anda lakukan selanjutnya.
PS Bagaimana kalau mengatur pertemuan tentang masalah ini dan mengundang semua orang yang terlibat. Maka Anda akan mendapatkan perhatian penuh mereka, menunjukkan masalah dan mempresentasikan pendekatan Anda. Ini akan memberi mereka sesuatu untuk dipikirkan. Mungkin dari upaya lokal Anda mereka tidak menganggap Anda serius.
sumber
SendNewCustomerEmail
yang digunakan untuk mengirim semua jenis email, bukan hanya email pelanggan baru. Ini memiliki komentar dari pengembang saat ini yang mengatakan "Catat nama ini menyesatkan" tetapi tidak ada yang pernah mempertimbangkan untuk mengubah nama itu menjadi sesuatu yang lebih umum dan berguna, dan jika saya melakukannya saya akan diminta oleh manajer untuk menjelaskan mengapa saya Sedang mengubah kode yang tidak perlu diubah alih-alih menambahkan nilai.Saya pikir Anda mungkin perlu bertanya pada diri sendiri apakah notasi Hongaria mempengaruhi output / kualitas pribadi Anda, atau apakah itu lebih hanya menyakiti ego Anda. Dengan ego, maksud saya hal-hal umumnya bekerja dengan baik, tetapi Anda tidak akan pernah ingin seseorang yang Anda hormati dari luar untuk melihat kode usang memalukan. Sementara saya pikir kekhawatiran itu memang memiliki kelebihannya sendiri, Anda harus mempertimbangkannya terhadap kualitas / produktivitas yang akan diambil oleh semua orang yang harus beralih.
Ini adalah semacam pertanyaan utang teknis, karena Anda jelas benar bahwa gaya bahasa Hongaria ini tidak masuk akal dalam. Net (dengan pengecualian antarmuka dengan "I", tapi itu untuk waktu lain), namun, ini mungkin semacam hutang teknis yang dapat ditanggung oleh tim Anda sampai secara alami memudar .
sumber
CustomerRepository
dan kelasnyaCustomerRepositoryImpl
atau sejenisnya.Xml
alih - alihExtensibleMarkupLanguage
. Dalam modul akuntansi saya akan mengharapkan untuk melihat objek faktur sukaarInvoice
danapInvoice
yang menyampaikan konteks bisnis, tetapi melihatobjArInvoice
atauoApInvoice
hanya IMO konyol. Saya kira itu bisa lebih buruk, itu bisaclsApInvoice
untuk nama kelas yangArgumen terbaik terhadap notasi hungaria, di samping IDE modern, yang memiliki banyak metode untuk menunjukkan jenis, visibilitas, dan lebih banyak barang dari variabel dengan warna, dengan simbol kecil dan dengan tooltiptexts sementara hoovering, adalah, menganggapnya serius.
Serius: Pada refactoring, Anda dapat mengubah variabel dari int ke long, dari String ke char. Anda tidak perlu mengubah nama juga.
Dalam IDE, Anda mendapatkan nama-nama yang sering diurutkan dalam Kotak di samping. diurutkan berdasarkan nama, tempat yang mudah ditemukan. Jika sebagian besar variabel dimulai dengan o atau i, itu mengganggu mata, untuk sampai ke bagian penting dari nama.
Karakter tambahan mengganggu semantik variabel. Integer 'waras' mendapat 'i_sane', yang lebih mirip 'gila'.
Notasi hungaria sangat membantu dalam bahasa, yang tidak memiliki sistem tipe. Anda tidak memerlukannya, jika kompiler menjalankan tipe tertentu. Jika Anda menghias keluh kesah Anda tentang notasi hungaria dengan empati 'ya, untuk programmer yang lebih tua, masuk akal di masa lalu untuk menggunakannya!', Programmer yang lebih tua itu mungkin sia-sia, dan lebih suka tidak diidentifikasi sebagai yang lama.
Tetapi Anda harus berhati-hati, agar teknik ini berhasil. Mungkin Anda bisa merendahkan suara ketika berbicara tentang 'programer tua', untuk membuat mereka merasa, betapa hati-hati Anda terhadap mereka, betapa mereka membutuhkan perawatan. Sehingga orang ketiga di ruangan itu akan mengenali, bahwa Anda mencoba menyembunyikan sesuatu, yang tentu saja akan meningkatkan rasa penasarannya.
sumber
eSomeEnum
digunakan di tempat-tempat; untungnya tidak sering.Beli salinan Pedoman Kerangka Desain dan letakkan di meja manajer Anda (atau siapa pun yang mengontrol gaya pengkodean). Pastikan untuk meletakkan posting itu catatannya dengan jelas menunjuk ke pengantar di mana mereka menyoroti pentingnya konsistensi. Untuk lebih jauh pulang, intinya dapatkan salinan Kode Bersih dan letakkan bookmark di sana pada bagian tentang konvensi pengkodean.
sumber
Dalam beberapa hal ini adalah masalah subyektif, dan ini adalah salah satu dari pemrograman minutae (ejaan?) Yang saya hibur untuk sementara waktu dan kemudian hindari. Sementara saya pikir notasi Hongaria adalah dosa yang harus dibuang, saya pikir konsistensi lebih penting.
Dalam nada itu saya akan melakukan yang terbaik untuk meyakinkan sebuah tim untuk menggunakan penamaan variabel sentris domain daripada tipe konvensi penamaan berbasis, tetapi jika itu semua akan sulit saya akan mundur untuk menerima standar penamaan yang harus dipatuhi semua orang pada basis kode umum.
Saya tidak mendukung beberapa standar yang diamanatkan secara umum yang dipaksakan oleh kelompok standar, tetapi tim perangkat lunak mengembangkan standar mereka sendiri, dan yang lebih penting, patuh padanya.
sumber
Dengan variabel penamaan ulang resharper begitu cepat sehingga saya dapat membatalkan konvensi penamaan yang dianggap begitu cepat, sehingga saya tidak harus meninggalkan konvensi lama yang salah.
Jika Anda tidak memiliki alat refactoring, maka, saya setuju dengan komentator lain yang telah menyarankan mengikuti konvensi basis kode yang ada sebanyak yang Anda bisa, bahkan jika itu salah kepala. (sampai batas tertentu, ada konvensi penamaan variabel yang akan berubah menjadi generator bug jika Anda membiarkannya)
sumber
Sebagian besar masalah Anda valid dan akan membuat hidup lebih mudah bagi pengembang baru dan mungkin kewarasan Anda. Satu konvensi yang harus Anda adopsi adalah nama deskriptif. Anda harus dapat mencapai beberapa konsensus tentang hal itu tanpa mengubah gaya secara drastis tergantung pada seberapa buruk mereka. Untuk yang lainnya, tunggulah sampai Anda bertanggung jawab atau Anda mengganti anggota saat ini dengan pengembang baru yang berpikir dan merasakan cara Anda melakukannya.
sumber
Penyimpangan saya:
Wilayah Kode Umum dan tata letak file:
sumber