Dokumen gaya pemrograman ini memiliki aturan umum, yang mengatakan:
Aturan bisa dilanggar jika ada keberatan pribadi yang kuat terhadap mereka.
Ini bertabrakan dengan cara saya berpikir, dan ada banyak artikel yang mengatakan bahwa gaya pengkodean sebenarnya penting. Misalnya ini mengatakan:
Dokumen standar pengkodean memberi tahu pengembang bagaimana mereka harus menulis kode mereka. Alih-alih setiap pengembang mengkode dengan gaya pilihan mereka sendiri, mereka akan menulis semua kode dengan standar yang diuraikan dalam dokumen. Ini memastikan bahwa proyek besar dikodekan dengan gaya yang konsisten - bagian tidak ditulis secara berbeda oleh programmer yang berbeda. Solusi ini tidak hanya membuat kode lebih mudah dipahami, tetapi juga memastikan bahwa setiap pengembang yang melihat kode akan tahu apa yang diharapkan di seluruh aplikasi.
Jadi, apakah saya salah memahami sesuatu dari dokumen ini dan kutipan di bagian atas pertanyaan ini? Bisakah orang benar-benar mengabaikan gaya pengkodean?
Mungkin saya tidak cukup jelas, jadi dengan suntingan ini, saya akan mengklarifikasi sedikit.
Saya menulis dokumen gaya pengkodean untuk tim kami, dan saya ingin memeriksa gaya menggunakan beberapa analisis statis. Jika gagal, Jenkins akan mengirim email. Dan saya ingin gagal meninjau kode, jika gayanya tidak cocok. Ini jelas bertabrakan dengan kutipan pertama.
Tetapi kemudian, jika kutipan itu benar, apa gunanya dokumen gaya pengkodean, jika ada yang bisa melakukan apa pun yang mereka inginkan?
sumber
Jawaban:
Sejauh yang saya tahu, pernyataan yang membingungkan Anda adalah kompromi pragmatis yang dibuat agar pedoman untuk melayani audiens seluas mungkin. Bergantung pada konteks spesifik Anda (lebih banyak tentang itu di bawah), Anda mungkin memiliki opsi untuk menyesuaikannya dan menggunakan pedoman ini dengan lebih efisien.
Anda lihat, pedoman merujuk pada "keberatan pribadi yang kuat" sebagai sarana untuk membenarkan pelanggaran. Keberatan semacam itu bukanlah sesuatu yang bisa diabaikan begitu saja, terutama jika ini berasal dari pengembang berpengalaman.
Keberatan ini mungkin salah, ingatkan Anda, tetapi (dan ini sangat TETAPI BESAR), mereka juga dapat menunjukkan bahwa aturan tertentu salah - baik secara umum atau dalam konteks proyek tertentu (salah satu contoh ketidakcocokan aturan adalah persyaratan untuk menyediakan login terperinci dalam kode kritis kinerja).
Saya pikir bahwa setiap panduan gaya yang masuk akal harus mempertimbangkan hal di atas dan mencoba mengakomodasi kemungkinan kebutuhan untuk menyesuaikan diri. Sekarang, jika panduan yang membingungkan Anda hanya ditargetkan untuk tim dewasa dengan proses dan lingkungan yang efisien dan halus, itu dapat dinyatakan jauh lebih tidak ambigu, misalnya seperti ini:
Anda mungkin menyukai hal di atas dengan lebih baik dan Anda mungkin berharap hal itu terjadi di mana-mana, untuk semua orang, tetapi lihat lebih dekat ke bagian "tantangan dimunculkan / tetap diabaikan / sesuaikan" dan tanyakan pada diri Anda bagaimana hal itu dapat diimplementasikan. Tanyakan pada diri sendiri berapa lama mungkin tergantung pada proyek dan tim. Jika butuh satu jam, apakah itu bisa diterima? Bagaimana jika dibutuhkan sehari, atau seminggu, atau ... sebulan?
Anda lihat, bahwa pendekatan tantangan-dan-abaikan-sampai-diselesaikan dapat membuka pintu lebar untuk penyalahgunaan jika itu disajikan sebagai panduan untuk proyek apa pun. "Ya, ya kami dengar, mari kita lakukan seperti yang dikatakan panduan ini. Pertama, isi formulir tantangan ini dan dapatkan persetujuan CEO / CFO / CTO; perkirakan ini akan memakan waktu satu atau dua minggu. Setelah itu, tunggu sampai kami memperbarui pemeriksaan kode kami ; itu mungkin memerlukan satu atau dua minggu lagi. Sementara itu, pastikan kode kritis kinerja Anda memformat pernyataan logging yang benar tentang setiap gerakan register. "
Saya tidak bisa membaca pikiran penulis panduan, tetapi masuk akal untuk berasumsi bahwa mereka ingin menghindari menggunakannya untuk membenarkan kekacauan seperti yang dijelaskan di atas. Dari perspektif ini, lebih aman untuk menyatakan dengan jelas bahwa panduan ini tidak mengambil tindakan penegakan hukum - dengan cara ini, betapapun canggungnya, masih memungkinkannya digunakan untuk berbagai tim dan proyek yang sewenang-wenang. Mungkin ada harapan bahwa tunjangan luas seperti itu membuat tim yang lebih matang dan efisien kesempatan untuk mempersempitnya secara wajar tanpa merusak produktivitas pengembang.
Diterapkan pada kasus spesifik Anda, menulis dokumen gaya pengkodean untuk tim Anda dan gagal tinjauan kode jika gaya tersebut tidak cocok - saya pikir Anda perlu mencari tahu berapa lama waktu yang dibutuhkan bagi pengembang untuk menantang aturan tertentu, biarkan diabaikan, diselesaikan, dan apakah itu berubah atau pulih tergantung pada resolusi.
Jika Anda mencari cara untuk membuat proses ini bekerja tanpa memasukkan banyak hambatan ke dalam alur kerja pengembangan Anda, maka pendekatan tantangan / resolusi yang diformalkan dan mudah memang patut dipertimbangkan daripada kekacauan "melanggar jika Anda menangis cukup keras".
Sebagai catatan, saya ingin membahas apa yang Anda tulis dalam komentar lain , "Asumsikan bahwa gaya pengkodean ideal, dan jika itu tidak terjadi, dll."
Ini asumsi yang berbahaya, sungguh. Saya mematahkan hidung saya (dua kali! Dalam satu proyek! Di mana saya memiliki pengalaman yang luas dan membayangkan bahwa saya tahu segalanya tentang hal itu, pikirkanlah) dan saya sangat menyarankan Anda untuk menjatuhkannya. Lebih aman untuk mengasumsikan bahwa pemandu gaya mungkin memiliki kesalahan dan berupaya memikirkan apa yang harus dilakukan jika kesalahan tersebut ditemukan.
sumber
Mengizinkan orang mengabaikan gaya pengkodean karena preferensi pribadi adalah ide yang buruk.
Kutipan dalam pertanyaan Anda tampaknya memungkinkan pengembang mana saja untuk hanya mengatakan "Saya tidak akan menggunakan gaya ini karena saya tidak menyukainya."
Ini bertentangan dengan seluruh poin, yang membuat semua orang di tim melakukan hal-hal dengan cara yang sama untuk konsistensi dan keterbacaan.
Saya setuju bahwa dokumen gaya dengan pernyataan seperti itu mungkin tidak ada gunanya.
Namun demikian, beberapa fleksibilitas dalam mematuhi pedoman gaya disarankan:
Kesimpulannya: izinkan fleksibilitas dalam mematuhi pedoman gaya, untuk memenuhi kebutuhan tim Anda - tetapi tidak dengan alasan sewenang-wenang seperti preferensi pribadi.
sumber
Gaya pengkodean, dan panduan gaya ada untuk membantu membuat kode lebih mudah dibaca. Dan keterbacaan ada untuk membantu dengan kompleksitas.
Oleh karena itu pada akhirnya apakah akan melanggar atau tidak (saya akan menyebutnya adaptasi) gaya pengkodean yang sesuai dengan kebutuhan organisasi Anda bergantung pada seberapa banyak hal itu membantu membuat hal-hal dapat dimengerti.
Ingat, semuanya, dan saya tekankan, SEGALA SESUATU, dari pemrograman OO ke paradigma fungsional, ke berbagai model konkurensi, ada karena satu-satunya alasan membantu orang menghadapi kompleksitas.
sumber
Organisasi memilih untuk memiliki gaya pengkodean - tidak ada persyaratan untuk memilikinya sejak awal.
Jadi kutipan yang Anda baca membahas masalah terbesar yang saya lihat mengenai pengkodean "gaya" dan "peretas" superstar sungguhan - Anda membawa orang baru di papan dan dia menulis kode yang akan menjatuhkan zombie dan membuat server lama Anda berteriak dengan cepat. .. tetapi gaya pengkodeannya berbeda dari "gaya organisasi Anda yang diterima." Dia menolak untuk berubah dan proses untuk membuat semua orang menyesuaikan diri dengan gayanya akan memakan waktu dan mahal. Sekarang apa?
Sebagian besar peretas super yang saya kenal datang dengan ego sama besarnya dengan keterampilan mereka, dan mereka ingin organisasi beradaptasi dengan mereka , bukan sebaliknya. Jadi, mungkin standar gaya pengkodean Anda harus lebih seperti pedoman gaya pengkodean sehingga Anda dapat membiarkan orang peretas pembunuh ini terus menulis kode yang sangat cepat dan menakjubkan dengan beberapa penyimpangan gaya, tetapi pastikan bahwa semua orang mengerti bahwa sampai mereka mencapai hacker epiknya. status, mereka harus mengikuti aturan (atau bahkan membantu membereskannya).
Tentu saja, ini adalah mimpi buruk manajemen, tetapi mengelola orang-orang teknologi secara umum agak seperti menggembalakan kucing. Jadi sebagian besar perusahaan memiliki "pedoman gaya" bukan "standar gaya." Dan build tidak gagal dan review kode tidak gagal secara otomatis karena pelanggaran gaya di semua perusahaan. Anda harus memutuskan masalah manajemen yang ingin Anda miliki - memungkinkan peretas superstar dan memiliki "pedoman" atau kehilangan superstar dan memiliki gaya kode yang lebih konsisten.
sumber
Tergantung.
Tempat saya saat ini tidak memiliki panduan gaya, dan itu bukan masalah besar. Ada beberapa variasi kecil antara pemrogram, tetapi tidak terlalu mempengaruhi pembacaan, dapat ditemukan, atau konsistensi dengan cara yang berarti. Dan kami memiliki grup yang cukup besar dan budaya yang cukup kuat untuk menegakkan bahwa setiap anggota baru dalam tim akan sejalan (atau lainnya).
Di perusahaan sebelumnya, kami berkembang pesat dan memiliki beberapa orang yang tidak terbiasa dengan bahasa dan idiom-idiomnya. Di perusahaan itu, masuknya orang berarti tidak ada budaya yang memaksakan penulisan yang baik. Dan orang-orang yang baru mengenal bahasa itu berarti ada banyak hal yang harus disesuaikan. Ada checker gaya otomatis adalah cara paling efisien untuk membuat penyesuaian, dan panduan tertulis yang sebenarnya adalah cara terbaik untuk melatih orang-orang baru dalam harapan kami.
Secara pribadi, saya tidak terlalu peduli dengan panduan gaya, dan bahkan tidak terlalu peduli untuk penerapan gaya otomatis. Jika orang tersebut bahkan tidak dapat mengambil idiom dasar, mengapa Anda mempekerjakan mereka sebagai programmer? Dan jika mereka adalah pemain tim yang buruk sehingga mereka akan terus menulis kode yang sulit bagi orang lain untuk bekerja, mengapa Anda mempekerjakan mereka sama sekali?
sumber
Ini lebih merupakan taktik psikologis daripada interpretasi literal tentang cara terbaik untuk mengelola gaya pengkodean. Itu membuat tim / perusahaan / manajer / pemimpin kurang otoriter. Saya akan lebih fokus pada pengecualian situasional daripada pribadi. Terlepas dari dokumen pengkodean, tujuannya adalah untuk membuat hal-hal mudah dibaca. Kode yang membingungkan harus diatasi dan diubah jika dianggap perlu. Ada banyak alat untuk merawat hal-hal kecil yang membosankan, jadi gunakanlah.
Ada pengecualian untuk setiap aturan. Beri orang "beberapa" ruang gerak. Semakin sedikit orang yang terlibat dalam menerima aturan gaya pengkodean (Welcome new guy.), Semakin mereka cenderung ingin membalas. Banyak hal hitam dan putih, tetapi beberapa terbuka untuk interpretasi.
Tujuannya adalah untuk melibatkan semua orang dalam semangat pedoman pengkodean alih-alih memperebutkan setiap detail dan interpretasi kecil.
Ya, akan tiba saatnya dokumen gaya pengkodean tidak masuk akal untuk digunakan dan pengembang profesional dan dewasa harus mengetahui perbedaannya.
sumber
Berdasarkan hasil edit Anda, Anda membidik tujuan yang tepat.
Ada banyak manfaat menggunakan panduan gaya, tetapi dua yang paling penting menurut saya, adalah keterbacaan kode antara anggota tim, dan kurangnya komitmen "konyol" (seperti ruang putih saja, atau garis tambahan dan sejenisnya).
Untuk mencapai tujuan Anda, panduan gaya yang Anda pilih (atau buat) harus sederhana dan mudah dipatuhi. Cobalah untuk benar-benar fokus pada apa yang Anda butuhkan. Tidak ada yang suka harus kembali dan menulis ulang potongan kode yang besar hanya untuk membuat orang senang. Tapi masih ada manfaatnya.
Pastikan anggota tim Anda menyetujui panduan gaya. Anda akan menahan mereka untuk itu, pastikan mereka setuju atau itu akan menjadi perjuangan abadi.
Pastikan pelanggaran gaya adalah "peringatan" dan bukan "gagal", biarkan manusia memutuskan apakah pelanggaran itu gagal. Alasannya sederhana. Saya percaya pada alur kerja yang sederhana. Jika suatu tempat dalam fase "pengujian" "gagal" terjadi maka Anda tidak dapat mendorong produksi. Yang saya gunakan adalah sebagai pengaman. Bahkan perbaikan panas harus melalui fase pengujian (meskipun lebih pendek). Dapatkah Anda benar-benar mengatakan bahwa Anda tidak akan mendorong perbaikan bug penting ke produksi karena seseorang menggunakan "bukannya a? Bagaimana dengan menggunakan for for, bukan masing-masing? Bagaimana jika for for memiliki beberapa perbaikan atas masing-masing? adalah keputusan yang tidak dapat dibuat oleh mesin (linter), jadi pastikan untuk memiliki manusia, menilai peringatan, dan bukan mesin yang gagal.
Untuk mengabaikan panduan Gaya, Anda harus menilai itu berdasarkan kasus per kasus. Pastikan bahwa "penyimpangan" memiliki alasan yang nyata. Mereka akan muncul. Tugas pengulas adalah memastikan bahwa ada alasan bagus untuk penyimpangan dan bukan alasan sepele.
sumber
Saya pikir musik suasana di sini adalah bahwa jika kebijaksanaan yang diterima adalah bahwa standar pengkodean tidak benar atau tidak lengkap, maka itu adalah yang lebih rendah dari dua kejahatan untuk menekan jika pengembang berada dalam perjanjian umum daripada harus melalui proses yang sulit untuk mendapatkan dokumen diubah dan ditinjau ulang.
Juga harus dicatat bahwa kebijakan penegakan standar kode di masa lampau biasanya bukan cara yang dilakukan sekarang.
Di masa lalu, Anda hanya akan goyang memegang buku tebal di ujung meja pengembang dan mengutip bab dan ayat mengapa kode nya melanggar bagian 34.5.5767.
Kami sekarang memiliki analisis kode statis dan alat dokumentasi otomatis yang menghilangkan banyak standar kode.
Gagal semua ini, Anda masih dapat membuangnya kembali ke pengembang, meningkatkannya dalam tinjauan kode atau hanya mengubahnya sendiri jika Anda memang ingin.
sumber
Pertanyaan Anda berpusat pada rekonsiliasi dua kutipan. Saya pikir apa yang ditulis treecoder menjawab pertanyaan Anda secara umum. Ini mewakili prinsip panduan Anda dalam menulis pedoman gaya.
Lebih khusus lagi, karena Anda bertanggung jawab untuk menetapkan pedoman gaya pengkodean (ini adalah asumsi saya karena Anda adalah penulis dokumen), Anda harus memutuskan apa yang opsional atau tidak, dan sejauh mana Anda akan memungkinkan fleksibilitas dalam gaya pribadi Anda tim. Anda akan mendapatkan umpan balik jika diperlukan. Tetapi begitu pedoman sudah ada, patuhi itu.
Jadi, Anda dapat merekonsiliasi dua kontradiksi yang tampak seperti ini:
Pikirkan kutipan pertama yang ditujukan kepada Anda sebagai pembuat keputusan gaya, sebelum dokumen pedoman selesai. Jika standar gaya tertentu tidak berfungsi untuk tim Anda, maka ini dianggap sebagai "keberatan pribadi yang kuat", dan pedoman Anda akan mencerminkannya.
Pikirkan kutipan kedua yang ditujukan kepada tim Anda, setelah dokumen selesai. Setelah Anda menetapkan pedoman untuk tim, dan dokumen tersebut ditulis, maka penting bagi semua pengembang di tim Anda untuk mematuhi pedoman gaya.
sumber
Tidak masalah apa pun gaya pengkodean yang dimiliki orang, selama mereka memiliki gaya pengkodean. Jika sebuah perusahaan bersikeras pada gaya pengkodean, mereka banyak menginjak sekitar 49% pengembang mereka.
Masalahnya adalah bahwa sejumlah besar pengembang tidak keberatan banyak menyesuaikan gaya pengkodean mereka dengan standar lazim dalam suatu perusahaan, tetapi mereka sangat keberatan diberitahu oleh mereka yang lebih baik dalam (atau hanya peduli tentang) politik perusahaan.
Itu berarti menciptakan standar gaya pengkodean bisa menjadi pemborosan waktu, sumber argumen tanpa akhir, penyebab kebencian yang tak terbatas, dan secara keseluruhan menghabiskan banyak waktu dan energi.
sumber
Saya telah bergulat dengan pedoman gaya kode selama bertahun-tahun, seperti banyak orang lain miliki di forum ini. Ini termasuk panduan gaya bertarung yang menurut saya tidak disukai, dan mencoba mendorong orang lain untuk menggunakan panduan gaya untuk mengendalikan gaya mereka sehingga bisa lebih mudah dibaca secara keseluruhan.
Korporasi mendapat manfaat dari standar pengkodean yang umum. Ada banyak hal penting yang perlu dipertimbangkan ketika mengembangkan perangkat lunak untuk sebuah perusahaan, seperti bagaimana kita akan melatih pengembang baru untuk mengambil kode generasi sebelumnya. Saat Anda menulis kode, Anda tidak selalu memikirkan hal ini. Bahkan, banyak coders memilih untuk tidak mempertimbangkan bagaimana orang lain mungkin ingin mendekati kode 5 atau 10 tahun setelah mereka pergi. Panduan gaya pengkodean adalah cara bagi perusahaan untuk memberikan fokus untuk sasaran 5 dan 10 tahun ini, sehingga memudahkan pengembang untuk bekerja dalam skema yang lebih besar.
Di sisi lain, panduan gaya pengkodean terkenal tidak sempurna, karena tidak mungkin untuk mengembangkan gaya pengkodean yang sempurna dan menuliskannya. Anda benar-benar mulai berlari ke dalam kasus sudut lucu di mana bukti matematika mulai gagal jika Anda mencoba untuk membuatnya sempurna. Jadi kita tahu panduan gaya pengkodean tidak sempurna. Mereka mungkin tidak sepenuhnya fokus pada apa yang kita butuhkan 5 hingga 10 tahun ke depan.
Jika kita "memaksakan" gaya pengkodean, kita akan mengorbankan nilai sekarang untuk nilai nanti. Ini akan disebut "investasi" jika kita dapat yakin bahwa kita akan mendapatkan pengembalian atas upaya kita, tetapi setiap pengembang yang telah bekerja dengan panduan gaya pengkodean yang ditulis dengan buruk dapat membuktikan bahwa keuntungan "keterbacaan" tersebut dibayar mahal oleh pengembang yang mengganggu. jauh dari kode mereka. Dalam pengalaman saya, hanya ada sejumlah kecil kasus di mana gaya pengkodean memiliki manfaat, biasanya pada perangkat lunak untuk pelanggan glasial unik di mana perangkat lunak dapat digunakan selama 30 atau 40 tahun!
Sebagai gantinya, saya merasa paling efektif untuk memperlakukan panduan gaya pengkodean sebagai manifesto: "Inilah yang kami percaya gaya pengkodean terbaik untuk grup kami." Itu adalah kumpulan pemikiran yang mengalir yang didokumentasikan dengan kata-kata. Kata "percaya" penting: jika kepercayaan berubah, panduan gaya pengkodean harus berubah dengannya.
Di sinilah kutipan "keberatan pribadi yang kuat" Anda masuk. Dalam apa yang saya sebut dunia "sempurna", Anda menulis kode apa pun yang Anda rasa terbaik, dan Anda hidup dengan konsekuensinya. Kita sering suka mengabaikan konsekuensi "lunak" ketika kita pemrograman, tetapi dalam hal ini penting. Saya tidak memiliki masalah dengan Anda menulis dengan gaya Anda sendiri, jika Anda tidak keberatan saya tidak pernah memberi Anda sesuatu yang penting dan tahan lama untuk dikembangkan.
Pikirkan seluruh sistem seperti lapangan golf. Gaya pengkodean membuka jalan mudah ke fairway. Jika Anda berpegang teguh pada standar pengkodean, kami akan memastikan hidup semudah yang kami bisa. Semakin jauh Anda turun ke kasar, dengan menggunakan standar pengkodean Anda sendiri, semakin Anda harus membuktikan nilai Anda di tim.
Jika saya datang pada hari Senin pagi, untuk mengetahui bahwa Anda menghabiskan seluruh akhir pekan untuk menyelesaikan masalah yang telah kami resah selama setahun, dan Anda melakukannya dengan standar pengkodean "khusus" Anda sendiri, saya tidak akan memberitahu Anda untuk memperbaikinya. Aku akan memberitahumu untuk mandi. Jika standar pengkodean "khusus" Anda luar biasa "istimewa," Saya bahkan mungkin menyarankan pengembang tingkat "meninjau" kode untuk menyebarkan pengetahuan tentang bagaimana kode Anda bekerja dan secara tidak langsung menyebutkan bahwa jika ada sesuatu yang tampak sulit dibaca, ia harus membereskannya. Anda memberikan nilai yang cukup kepada perusahaan pada akhir pekan itu, bahkan layak untuk tidak menyebutkan pelanggaran standar pengkodean mengerikan yang Anda lakukan.
Tentu saja, ada batas di dalam metafora golf ini. Jika saya meminta Anda untuk melakukan tugas pangkat dan file, mungkin menambahkan bidang baru ke beberapa formulir, dan Anda memutuskan untuk menggunakan kesempatan untuk memperbaiki seluruh kode pengisian formulir yang sesuai dengan gaya khusus Anda, menggunakan sekelompok karakter teduh seperti mendefinisikan makro dan beberapa teknik pemrograman meta templat yang mengerikan yang baru Anda pelajari dari pertukaran stack, Anda akan diminta untuk kembali dan memperbaikinya. Anda memilih untuk bertindak, itulah konsekuensinya.
( Penafian: Saya benar-benar telah menulis implementasi ini
is_base_of
untuk menyelesaikan tugas kasar, dan mendapatkan setiap neraka yang saya dapatkan dari pengembang senior. Saya katakan itu sepadan. Saya masih mendapatkan gelembung tawa yang luar biasa setiap kali saya lihat bagaimana wedges pola seperti 7 bagian yang tidak berhubungan dari spesifikasi C ++ bersama-sama untuk melakukan sesuatu yang luar biasa. Ambil itu, Anda pengembang senior! Itulah yang Anda dapatkan karena melarangboost
proyek khusus ini! )sumber
Best tampaknya menggunakan pemformat kode otomatis yang merupakan fitur bawaan dari hampir semua IDE turunan dan harus ada untuk hampir semua bahasa pemrograman yang tersebar luas. Ini dengan tenang menghilangkan banyak pekerjaan yang tidak perlu dan banyak gesekan selama ulasan kode.
Sangat masuk akal untuk meminta dari semua pengembang untuk mengembangkan kebiasaan untuk menerapkan formatter ke bagian kode yang baru dibuat.
Yang terburuk yang dapat Anda lakukan adalah meminta beberapa gaya pengkodean khusus yang tidak didukung oleh formatter kode.
Dalam kasus yang relatif jarang terjadi, beberapa bagian mungkin diformat secara berbeda, jika formatter melakukan ini dengan sangat buruk, tetapi biasanya lebih baik untuk menyesuaikan formatter agar semua format lebih baik.
Mungkin ada beberapa aturan yang berguna yang tidak dapat didukung oleh formatter (misalnya, bagaimana memberi nama variabel) tetapi jika ini masih ada, maka relatif mudah untuk diikuti.
sumber
Solusi Aktual (bukan hanya filsafat)
Izinkan komentar kode untuk mengabaikan linting, dan kompilasi daftar komentar tersebut jika Anda suka (seperti yang sering dilakukan dengan komentar yang berlebihan)
Berikan pengembang Anda kemampuan untuk bekerja di luar konvensi secara eksplisit dan dengan alasan - dan selama ulasan kode oleh manusia itu dapat diteliti sesuai kebutuhan.
sumber