Bagaimana Anda menemukan, memperbaiki, dan mempertahankan gaya pengkodean Anda?

10

Baru-baru ini, saya telah beralih antara beberapa proyek dan lingkungan pengembangan. Harapan untuk gaya pengkodean di masing-masing berbeda.

Sekarang, pertanyaan saya adalah tiga bagian, yang pertama, hanya ingin tahu:

  1. Bagaimana Anda mendefinisikan dan menemukan gaya pengkodean Anda?
  2. Bagaimana Anda terus menambah dan memperbaikinya?
  3. Bagaimana Anda mempertahankannya? (Dari catatan mental, menyimpan dokumen, menggunakan alat seperti StyleCop dll.)
aredkid
sumber

Jawaban:

7

№1. # Bagaimana Anda mendefinisikan dan menemukan gaya pengkodean Anda?

Melalui contoh kode pertama dalam buku, lalu dalam teks dan artikel MSDN, lalu blog dan situs web lainnya.

№2. Bagaimana Anda terus menambah dan memperbaikinya?

Saya membuka mata terhadap semua saran yang dibuat orang. Saya mencobanya, jika mereka bekerja untuk saya, mereka tetap bertahan. Saya juga bereksperimen dari waktu ke waktu, apa yang tampaknya memperbaiki keadaan tetap ada pada saya.

№3. Bagaimana Anda mempertahankannya? (Dari catatan mental, menyimpan dokumen, menggunakan alat seperti StyleCop dll.)

Saya ingat gaya saya dan menerapkannya secara otomatis di mana-mana.


Catatan 1. Menjaga mata tetap terbuka dan telinga yang tajam sangat penting untuk tetap terkini. Bertahun-tahun yang lalu saya belajar dari orang lain bahwa notasi Hongaria adalah suatu keharusan jadi saya mengikutinya. Ketika komunitas menyadari itu tidak terlalu bagus, saya berubah dengan semua orang.

Catatan 2. Seringkali tidak penting elemen gaya tertentu apa yang Anda adopsi tetapi Anda menjaga gaya Anda konsisten di seluruh kode Anda. Hal yang sama berlaku untuk tim. Pilih beberapa gaya tetapi tetap berpegang pada itu.

Catatan 3. Gaya pengkodean untuk berbagai bahasa dapat bervariasi. C ++ layak satu gaya, Java yang lain. HTML dan CSS memiliki karakteristik mereka memerlukan gaya yang berbeda lagi.

Catatan 4. Gaya apa pun yang Anda pilih, pahami dan terima bahwa itu tidak akan berhasil 100%. Kadang-kadang Anda memiliki beberapa kode yang memerlukan gaya berbeda di tempat, baik membagi multiline, keberpihakan berbeda atau apa pun untuk menjaga potongan kode tertentu lebih mudah dibaca. Jangan memaksakan gaya Anda ke mana-mana, fokuslah pada keterbacaan kode. Jika jelas, gaya tidak bekerja di tempat khusus ini, buat pengecualian.

Catatan 5. Jangan membuat mengikuti gaya kode ke agama. Alat yang menerapkan gaya kode memang bagus, tetapi terkadang bisa membuat Anda marah. Saya misalnya menonaktifkan pemformatan kode otomatis Visual Studio karena itu membuat saya gila. Jika alat menjadi penghambat, tambahkan saja pengecualian dan jangan khawatir kode Anda tidak 100% patuh. Ini tidak begitu penting dan kesempurnaan yang tidak dapat dicapai adalah pokoknya.


sumber
+1 Nomor dua adalah cara saya meningkatkan (d) gaya saya.
Oliver Weiler
2
Ya Tuhan, Bung ... MSDN? Saya menangisi teman-temanmu ...
Shog9
1
  • Bagaimana Anda mendefinisikan dan menemukan gaya pengkodean Anda?

Saya tidak berpikir ada waktu di mana saya berkata: "Ok ini akan menjadi gaya saya". Fokuslah pada lingkungan atau bahasa tertentu. Gaya Anda harus mencerminkan cara Anda menghadapi masalah tertentu.

  • Bagaimana Anda terus menambah dan memperbaikinya? Membaca blog pengembang bisa berguna untuk melihat apa yang sedang dikerjakan orang lain, mencari perangkat lunak yang banyak digunakan (jika itu bagus, mungkin Anda bisa menggunakan beberapa solusi mereka), dll.
  • Bagaimana Anda mempertahankannya? (Dari catatan mental, menyimpan dokumen, menggunakan alat seperti StyleCop dll.) Pertanyaan ini menimbulkan satu lagi: Bisakah Anda kehilangan gaya Anda? Saya pikir ini bagian dari Anda sehingga Anda tidak bisa, bukan?
guiman
sumber
1

Saya bekerja dalam sebuah tim dengan permainan sumber tertutup yang saya sukai dan pengembang utama membimbing saya, dan membantu saya meningkatkan keterampilan setelah saya juga bertanya kepadanya.

Dia menyarankan, dan saya mengadopsi Gaya Coding Zend Framework (http://framework.zend.com/manual/en/coding-standard.html)

Malfist
sumber
1

Saya akhirnya mengadopsi karakteristik gaya yang berbeda - termasuk gaya yang tercermin pada MSDN. Saya kemudian mengatur template di VS yang menyediakan #region/#endregionblok saya dan apa pun yang lebih disukai.

Saya terus mempelajari gaya-gaya lain yang saya jumpai melalui penelitian dan membaca. Jika saya pikir ada sesuatu yang menonjol dan dapat meningkatkan gaya saya dalam keterbacaan, pemeliharaan, atau organisasi, saya mencobanya. Jika penyesuaian gaya baru dilakukan, saya akan memperbarui template dalam VS atau membuat catatan mental.

Ekstrak
sumber
1
  1. Membaca kode sumber DOOM.
  2. Membaca semua yang lain, aku bisa meletakkan tangan, memilih bagian yang berfungsi.
  3. Alkoholisme yang berfungsi.

Ketika mengkode sendiri, saya bertujuan untuk singkat; Pemrograman Spartan mungkin lengkap, kegilaan batshit ... Tapi itu mungkin hal yang paling akrab dengan kredo saya.

Ketika mengkodekan dengan orang lain, terutama pengkodean pemeliharaan, saya bertujuan untuk menjadi bunglon - perubahan saya harus meningkatkan apa yang mereka modifikasi, tanpa melihat keluar dari tempatnya.

Shog9
sumber
1

Bagaimana Anda mendefinisikan dan menemukan gaya pengkodean Anda?

Dengan berfokus pada kesederhanaan dan keterbacaan (keterbacaan! == keterbacaan, lihat Pemrograman Spartan )

Bagaimana Anda terus menambah dan memperbaikinya?

Dengan meninjau kode orang lain dan saya sendiri (dan bahkan mengkode standar sendiri).

Bagaimana Anda mempertahankannya? (Dari catatan mental, menyimpan dokumen, menggunakan alat seperti StyleCop dll.)

Saya menggunakan dokuwiki , pengaturan yang mudah (tanpa database), struktur hierarkis, kontrol granular (ACL out of the box), penampilan yang sangat bagus, dan well, ini wiki, sehingga siapa pun dapat berkontribusi. Juga, kontribusi / perubahan selalu di bawah konsensus dan dibenarkan, berdasarkan kesederhanaan dan keterbacaan.

dukeofgaming
sumber
Menarik, saya belum pernah mendengar tentang Pemrograman Spartan, tetapi itulah prinsip yang saya ikuti secara naluriah; sekarang saya akan tahu nama untuk itu, hebat :-)
wildpeaks
0

Ini semacam jawaban yang aneh, tapi saya butuh waktu sangat lama untuk benar-benar mengambil pemrograman. Saya menghabiskan banyak waktu bekerja di 'seni' sebelum menganggap diri saya seorang programmer.

Ketika menulis kode, saya cenderung berpikir dalam unit-unit seperti menulis - paragraf, frasa, dll. Karena itu, saya akan menyebarkan kode ke lebih banyak baris untuk membuatnya dapat dibaca seperti cerita / esai / dll. Saya benar-benar kesal ketika pengembang mencoba menjejalkan sebanyak mungkin ke satu baris atau ke ruang kecil, karena itu tidak mencapai apa-apa selain membuat penulis merasa pintar dan mengganggu pembaca di masa depan.

Jika saya perlu melakukan sesuatu yang aneh demi efisiensi, saya akan berkomentar untuk menjelaskan mengapa itu seperti itu.

Saya mungkin tidak akan mendapatkan upvotes untuk ini, tetapi mungkin ini akan memicu beberapa diskusi.

Sedangkan untuk sisi teknis, seperti penempatan tanda kurung dan semacamnya, saya membuatnya tetap selaras karena hasilnya adalah peningkatan keterbacaan.

Aaron Nemoyten
sumber
0

1. How did you define and find your coding style?

Saya pergi untuk mengadopsi panduan gaya yang sudah dikembangkan yang sebagian besar dikembangkan dan diterima secara luas atau dipopulerkan oleh perusahaan / proyek besar.

Saya melakukannya karena berbagai alasan, tetapi terutama karena panduan gaya seperti itu dapat segera diadopsi oleh pengembang. Panduan gaya hanya bernilai sebanyak pengembang bersedia untuk mematuhinya.

Contohnya adalah Python PEP 8 , panduan gaya Android untuk Java , panduan gaya jQuery Core atau panduan gaya Python Google .

2. How do you keep augmenting and improving it?

Argumen terbesar untuk panduan gaya tersebut adalah bahwa mereka Tidak Diciptakan Di Sini dan Tidak Diciptakan Oleh Saya. Butuh banyak pengembang, mengintimidasi garis kode dan lebih banyak waktu daripada yang akan diinvestasikan oleh perusahaan / tim Anda untuk mengembangkan dan memelihara panduan gaya.

Sedangkan untuk perbaikan, tidak pernah ada panduan gaya yang segera menjawab semua yang perlu Anda ketahui. Tetapi, dalam kebanyakan kasus, peningkatan yang saya lihat didorong ke depan hanyalah versi yang lebih jelas dari apa yang sudah dipandu oleh panduan gaya dengan pendekatannya dalam menulis kode.

Dalam kasus seperti itu ketika Anda mengalami blok keanehan, Anda harus menempelkannya ke inti atau ke beberapa alat berbagi potongan kode yang sesuai dengan dukungan sintaks warna dan mendiskusikannya di suatu tempat dengan pengembang lain. Hebatnya adalah bahwa dalam kasus seperti itu Anda tidak tertarik pada apa yang kode lakukan, tetapi hanya bagaimana kode muncul, sehingga Anda dapat mengambil blok itu di luar konteks dan mendiskusikan bagaimana Anda harus meningkatkannya, membandingkannya dengan apa yang sudah ditentukan dalam panduan gaya sebagai titik awal utama untuk diskusi.

3. How do you maintain it?

Hebatnya, Anda sudah memiliki dokumen yang sudah ada yang dikelola secara online untuk umum.

Ketika datang ke pemformatan kode, Anda juga dapat bekerja lebih keras dan memberikan tim Anda dengan konfigurasi formatter untuk editor favorit mereka, yang akan menghilangkan kesalahan dan menebak-nebak tentang mempertahankan penampilan paling top. Sebenarnya, saya tidak akan menyebutnya keluar lebih jauh, tetapi merupakan bagian integral dari pengembangan - tidak ada yang lebih buruk melakukan perbedaan di mana 90% dari perubahan kode adalah seseorang check-in dari kode yang diformat / ditata dengan benar karena seseorang lupa untuk bersihkan sebelum mereka melakukan fitur baru yang besar.

Filip Dupanović
sumber
0

Jika Anda adalah bagian dari tim, Anda harus selalu mengikuti standar tim. Ada banyak yang bisa dikatakan menggunakan tata letak generik dan bukan tata letak pribadi Anda. Itu membuat kode Anda lebih mudah dibaca dan dipahami oleh orang lain yang penting.

Sardathrion - menentang penyalahgunaan SE
sumber