Saya telah mengajukan pertanyaan ini di Stackoverflow, dan sebelum booed off, saya menerima saran yang membantu dari Péter Török bahwa ini mungkin tempat yang lebih baik untuk mempostingnya.
Saya sudah pemrograman di Jawa selama beberapa tahun. Saya sering mendiskusikan keputusan desain dengan kolega berdasarkan apa yang merupakan 'gaya yang baik'. Memang, ada sejumlah pertanyaan / jawaban StackOverflow yang membahas desain berdasarkan apakah sesuatu itu 'gaya yang baik'.
Tapi apa yang membuat 'gaya yang baik'? Seperti banyak hal, saya tahu ketika saya melihatnya ... tapi saya ingin memiliki ide yang lebih baik daripada hanya hati nurani saya yang mengatakan bahwa desain ini tidak terasa benar.
Apa hal-hal yang Anda pikirkan untuk menghasilkan kode yang baik dan dirancang dengan baik?
(Saya mengakui bahwa ini agak subyektif, karena apa yang 'gaya yang baik' akan tergantung pada tugas yang dihadapi). (Juga, saya harus menambahkan bahwa saya tidak tertarik dengan gaya tim - mis. "Kami menggunakan indentasi 2 spasi daripada 4" ..., dan saya tidak tertarik pada konvensi kode Java.)
Sunting: terima kasih atas semua jawaban / komentar baik sejauh ini. Saya sangat tertarik untuk jawaban yang akan membantu mengkodifikasikan hal-hal yang membuat hati nurani programmer (dan mungkin perut) kunci?
sumber
Jawaban:
Beberapa poin singkat:
sumber
Menambahkan ke daftar Ryan:
xFactoryFactory
kelas, Anda salah melakukannya :-)Saya akan berhenti di situ.
sumber
HammerFactoryFactoryFactory
kelasnya? ;-)Sementara menghargai jawaban orang lain, saya pikir itu adil untuk berbagi beberapa hal yang saya pikirkan ketika mencoba menulis kode yang baik:
apa yang perlu diketahui tentang kelas / metode / variabel ini? yaitu di mana seharusnya pengetahuan ini hidup?
bagaimana kode ini memengaruhi memori / kinerja aplikasi saya? (Saya mengakui bahwa 'optimasi prematur adalah akar dari semua kejahatan'; jadi saya tidak menyarankan menghabiskan banyak waktu untuk mengoptimalkan, tetapi lebih pada kesadaran sementara pada awalnya menulis kode saya.)
apakah jelas (dari kode, dan struktur kode) apa fungsinya? (Saya mencoba mengikuti pepatah: "Berusaha untuk tidak memungkinkan orang untuk mengerti, berusaha untuk membuat orang tidak mungkin salah paham".)
sumber
Baca kelas String dan ArrayList untuk contoh-contoh bagus pemrograman Java yang tepat. Tetapi mereka sangat ringkas, hampir gaya C, yang tidak selalu terbaik untuk kode yang dapat dipelihara dengan minimal java docs. Praktik yang umum di toko saya adalah tidak ada komentar, jadi saya mencoba mengomentari dengan kode dengan menggunakan nama verbose camelCase var dan penggunaan baris baru yang berlebihan untuk membatasi satu baris pemikiran dari yang lain. Saya masih berdebat menggunakan tab untuk memisahkan vars dari nilai-nilai mereka. Tab dapat meningkatkan keterbacaan, IMO, tetapi hanya jika dilakukan secara minimal dan sangat subyektif. Saya menemukan ini benar-benar tentang penonton. Tidak ada jawaban terbaik di sini.
sumber