Komentar dalam kode sebagai cara ekspresi diri

Baru-baru ini, memilih satu kerangka kerja yang tidak terlalu populer, saya menemukan potongan kode berikut.


Karena robot pembunuh suka unicorn!

Saya tidak tahu apa yang dipikirkan dan dalam suasana hati apa yang ingin disampaikan oleh penulis, tetapi ini membuat saya berpikir: seberapa sering kita menggunakan komentar yang tidak sesuai dengan tujuan mereka? Beberapa ditemukan di bawah luka.

  // Tidak disarankan untuk membaca jika Anda tidak suka posting Jumat pada hari Selasa. 

Ada perbedaan pendapat tentang topik kode komentar. Ada penganut kode penjelasan sendiri. Menurut konsep ini, variabel dan fungsi dinamai semaksimal mungkin, yang dalam banyak kasus menghilangkan kebutuhan untuk menulis komentar tambahan. Yang lain lebih suka menggambarkan setiap langkah dalam komentar untuk membantu diri mereka sendiri dan mereka yang nantinya harus bekerja dengan kode. Beberapa orang menulis struktur 3 lantai dalam satu baris dan sama sekali tidak mengomentarinya (saya telah berdosa sedemikian rupa, saya akui). Tetapi ada beberapa kasus lain.

Pengakuan sedih


Pernahkah Anda menulis sesuatu yang Anda sendiri benci? Apakah Anda mengerti bahwa melakukan hal itu buruk dan jelek, tetapi keadaan (persyaratan pelanggan, misalnya) lebih kuat daripada Anda? Beberapa dari ini terjadi.

  // Kode ini menyebalkan, kau tahu itu dan aku tahu itu.
 // Pindah dan panggil aku idiot nanti. 

Kode ini menjijikkan, Anda tahu itu dan saya tahu itu. Pindah, lalu panggil aku idiot.

  // Saya tidak bertanggung jawab atas kode ini.
 // Mereka membuatku menulisnya, bertentangan dengan kehendakku. 

Saya tidak bertanggung jawab atas kode ini. Saya terpaksa menulis ini di luar kemauan saya.

  // Aku harus mencari pekerjaan yang lebih baik 

Saatnya mencari pekerjaan yang lebih baik

  // Aku mendedikasikan semua kode ini, semua pekerjaanku, untuk istriku, Darlene, yang akan melakukannya 
 Aku harus mendukungku dan ketiga anak kami dan anjing itu begitu mendapatkannya 
 // dirilis ke publik. 

Saya mendedikasikan semua kode ini, semua pekerjaan saya, kepada istri saya Darlene, yang harus merawat saya, ketiga anak kami dan anjing itu, segera setelah itu melihat cahaya hari.

Dan terkadang standar perusahaan untuk menulis kode memaksa Anda untuk melakukan sesuatu yang tidak cocok dengan logika internal pengembang.

  konstanta SEPULUH = 10;  // Seolah nilai 10 akan berfluktuasi ... 

Seolah nilai 10 dapat bervariasi ...

Saya mengingat kasus ketika saya mendapat sepotong kecil pekerjaan pada satu direktori tentang freelance. Sistem interaksi dibangun dengan cara yang rumit, sehingga tidak ada umpan balik langsung dari pelanggan. Dan itu perlu dilakukan "seperti pada gambar, karena pelanggan menyetujui", meskipun ini jelek dari sudut pandang kode. Sudahkah Anda menemukan ini juga?

Peringatan dan Pengetahuan yang Hilang


Kebetulan lebih baik tidak mengganggu beberapa kode. Jangan mencoba memperbaiki, mengoptimalkan, atau memperbaikinya.

 / * * Anda mungkin berpikir Anda tahu apa yang dilakukan kode berikut.  * Tapi kamu tidak.  Percayalah padaku.  * Biasakan dirimu, dan kamu akan menghabiskan banyak malam * tanpa tidur mengutuk saat kamu pikir kamu akan pintar * cukup untuk "mengoptimalkan" kode di bawah ini.  * Sekarang tutup file ini dan mainkan dengan yang lain.  * / 

Tampaknya bagi Anda bahwa Anda tahu apa yang dilakukan kode selanjutnya. Ini tidak benar. Percayalah padaku. Masuk ke dalamnya, dan Anda akan menghabiskan banyak malam tanpa tidur mengutuk saat ketika Anda berpikir Anda cukup pintar untuk "mengoptimalkan" itu. Sekarang tutup file ini dan mainkan dengan yang lain.

  / *
  * Pemelihara yang terhormat
  *
  * Setelah Anda selesai mencoba 'mengoptimalkan' rutin ini,
  * Dan Anda telah menyadari betapa mengerikannya kesalahan itu,
  * harap tambahkan penghitung berikut sebagai peringatan
  * untuk pria berikutnya.
  *
  * total_hours_wasted_here = 73
  * / 

Orang yang menyertai yang terhormat! Ketika Anda telah menyelesaikan upaya Anda untuk "mengoptimalkan" proses ini dan menyadari betapa mengerikan kesalahan ini, tingkatkan penghitung berikutnya sebagai peringatan bagi mereka yang datang untuk Anda.

  // Sihir.  Jangan disentuh. 

Keajaiban. Jangan disentuh.

  / *
 setelah berjam-jam berkonsultasi buku tebal google
 Saya telah menemukan bahwa dengan kehendak kekuatan yang tidak diketahui
 tanpa garis di bawah ini, IE7 percaya bahwa 6px = 12px
 * /
 ukuran font: 0px; 

Setelah berjam-jam konsultasi dan googling, saya menemukan bahwa dengan kehendak kekuatan yang tidak diketahui tanpa garis berikutnya, IE7 menganggap bahwa 6px = 12px

  // Dihasilkan secara otomatis, JANGAN edit.  Semua perubahan akan dibatalkan. 

Dihasilkan secara otomatis, JANGAN edit. Semua perubahan akan dibuang.

Yang terakhir, omong-omong, adalah contoh menarik dari kecerdasan dalam upaya melawan upaya untuk masuk ke kode Anda. Mereka mengatakan itu berhasil.

Rasa sakit dan putus asa


Apakah Anda harus bekerja dengan sesuatu yang membuat Anda putus asa? Pengembang penampil gambar Xee mengalami parsing format PSD. Tetapi dengan siapa seorang programmer dapat berbagi penderitaannya, jika tidak dengan komentar? Di bawah ini adalah terjemahan, aslinya sedang di github .

Di sini saya ingin berhenti sejenak dan berbicara tentang format Adobe PSD. PSD bukan format yang baik. PSD bahkan bukan format yang buruk. Untuk menyebutnya itu akan menjadi penghinaan terhadap format buruk lainnya, seperti PCX atau JPEG. Tidak, PSD adalah format yang mengerikan. Beberapa minggu bekerja pada kode ini meningkatkan kebencian saya pada PSD ke tingkat api yang ganas, terbakar dengan semangat sengit satu juta matahari.

Jika ada dua cara untuk melakukan sesuatu, PSD menggunakan keduanya di tempat yang berbeda. Selain itu, ia akan menciptakan tiga cara lagi yang tidak akan terjadi pada orang yang masuk akal, dan menggunakannya pada saat yang sama. PSD membawa ketidakkonsistenan ke tingkat seni. Mengapa, misalnya, ia memutuskan bahwa blok - blok ini harus disejajarkan oleh empat byte, dan penjajaran ini tidak termasuk dalam ukuran? Blok lain di tempat lain tidak menyelaraskan atau menyertakan penjajaran dalam ukuran. Namun, di sini tidak termasuk. Salah satu dari tiga cara ini akan dilakukan. Format yang masuk akal akan fokus pada satu. PSD, tentu saja, menggunakan ketiganya, dan lainnya.

Mencoba mengekstraksi data dari file PSD seperti mencari sesuatu di loteng paman tua Anda yang eksentrik yang meninggal karena serangan hiu air tawar yang hiruk pikuk pada ulang tahunnya yang ke-58. Detail terakhir tidak terlalu penting untuk narasi, tetapi pada saat ini saya menghabiskan banyak waktu untuk menyajikan takdir yang menarik bagi orang-orang yang bertanggung jawab untuk Ruba Goldberg ini di antara format file.

Sebelumnya, saya mencoba untuk mendapatkan spesifikasi format PSD terbaru. Untuk melakukan ini, saya harus meminta izin kepada mereka untuk meminta mereka mempertimbangkan kemungkinan mengirimkan kepada saya buku suci ini. Prosesnya termasuk mengirimkan salinan dokumen tertentu ke mereka melalui faks, kemungkinan ditandatangani dengan darah. Satu-satunya penjelasan yang muncul di benak saya adalah kompleksitas proses - mereka sangat malu dengan penciptaan kekejian ini. Secara alami, saya tidak dapat melewati prosedur ini, tetapi jika saya bisa, saya akan mencetak semuanya ke satu halaman dari spesifikasi ini dan membakarnya. Jika itu dalam kekuatan saya, saya akan mengumpulkan semua salinan spesifikasi di dunia, dan mengirimkannya roket langsung ke Matahari.

PSD bukan format favorit saya.

Saya tidak mencapai tingkat kebencian seperti itu, tetapi saya ingat bagaimana mata saya berdarah ketika membaca beberapa dokumentasi untuk API dari beberapa pengembang dalam negeri.

Cara untuk menghibur diri sendiri


Kami tahu betapa membosankan dan sepinya pekerjaan seorang programmer. Karena kita semua terkadang memainkan orang yang sama di KVN. Cara paling aman untuk melakukan ini adalah di komentar, tentu saja, tetapi ada opsi.

  Penginisialisasi pohon #Christmas  
     toConnect = []  
     toRead = []  
     toWrite = []   
     bilangan prima = []  
     tanggapan = {}  
     tersisa = {} 

Penginisialisasi pohon Natal

  ///////////////////////////////////////// ini adalah baris yang berkomentar dengan baik 

Komentar yang baik

  Ulangi
     ...
 Sampai (JesusChristsReturn) 'Tidak yakin 

Dogma agama diragukan ...

  // jika aku melihat ini lagi aku akan mulai membawa senjata untuk bekerja 

Sekali lagi saya akan melihat ini - saya akan mulai membawa senjata untuk bekerja

  // Abaikan semua harapan kamu yang masuk melampaui titik ini 

Putuskan harapan semua orang yang datang ke sini

  // mabuk, perbaiki nanti 

Perbaikan mabuk nanti

Bercanda sebagai lelucon, dan suatu kali saya meninggalkan catatan yang sama pada stiker di monitor: "Sadar - periksa XXX, kelas YYY" ...

  catch (Exception e) {
  // siapa yang peduli?
 } 

Siapa yang peduli

  // Aku tidak mengerti bagaimana bit berikut ini bekerja, tetapi itu bekerja di program yang aku curi. 

Saya tidak tahu cara kerja bagian ini, tetapi ini berfungsi di program, dari mana saya mencurinya.

  // Kode ini ditulis oleh jenius jadi jangan coba memahaminya
 // otak kecilmu. 

Kode ini ditulis oleh seorang genius. Jangan mencoba memahaminya dengan otak mini Anda.

  penetrasi ganda;  // aduh 

Dan sungguh, oh ...

  // Ditambahkan karena bos berubah pikiran: 20020111,20020501,20020820, ...
 // Berkomentar karena bos berubah pikiran: 20020201,20020614,20020908, ... 

Ditambahkan sejak bos berubah pikiran ... Mengomentari, karena bos berubah pikiran ...

  // Haleluya aku bisa pulang! 

Aleluia, aku bisa pulang

Saya pulang. Dan Anda memberi tahu kami apa komentar Anda yang paling berkesan atau menyenangkan.

Terima kasih telah tinggal bersama kami. Apakah Anda suka artikel kami? Ingin melihat materi yang lebih menarik? Dukung kami dengan melakukan pemesanan atau merekomendasikannya kepada teman-teman Anda, diskon 30% untuk pengguna Habr pada analog unik dari server entry-level yang kami temukan untuk Anda: Seluruh kebenaran tentang VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps dari $ 20 atau bagaimana membagi server? (opsi tersedia dengan RAID1 dan RAID10, hingga 24 core dan hingga 40GB DDR4).

Dell R730xd 2 kali lebih murah? Hanya kami yang memiliki 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV dari $ 249 di Belanda dan Amerika Serikat! Baca tentang Cara Membangun Infrastruktur Bldg. kelas menggunakan server Dell R730xd E5-2650 v4 seharga 9.000 euro untuk satu sen?

Source: https://habr.com/ru/post/id420091/


All Articles