Saya menggunakan eclipse untuk coding, dan bahasa yang kami gunakan adalah Java. Setelah itu disarankan oleh seseorang untuk memformat kode dengan benar, menggunakan pemformat otomatis (CTRL + SHIFT + F) Sementara perintah ini memformat kode, tetapi kadang-kadang saya merasa bahwa keseluruhan tampilan menjadi aneh, dan sebenarnya tidak terlalu mudah dibaca.
Jadi apakah ini hal yang disarankan untuk dilakukan? Jika tidak, apa yang lebih baik dari memformat kode kita di gerhana?
eclipse
code-formatting
Ankit
sumber
sumber
Jawaban:
Aturan pemformatan kode yang ketat berguna ketika beberapa pengembang bekerja pada kode yang sama menggunakan sistem kontrol versi. Penggabungan dapat menjadi masalah jika pengembang yang berbeda memiliki aturan pemformatan yang berbeda karena kode yang sama akan terlihat berbeda untuk alat penggabungan.
Eclipse (atau IDE yang bagus dalam hal ini) memiliki aturan pemformatan kode yang dapat dikustomisasi di bagian preferensi (Java> Code Style> Formatter). Pilih apa yang paling Anda sukai, tetapi lihat juga konvensi kode standar Java . Banyak proyek open source juga memiliki konvensi kode sendiri yang dapat diberlakukan dengan formatter Eclipse.
Selain itu ada alat standar seperti CodeStyle, PMD dan Findbugs yang menegakkan aturan tambahan dan membantu menghindari anti-pola dan kesalahan umum (tingkat rendah).
sumber
Saya menemukan autoformatter sangat berguna. Daripada terus-menerus mengambil keputusan mikro tentang bagaimana kode harus diformat - sesuatu yang rawan kesalahan dan menyebabkan "gesekan kognitif" - Anda dapat mengatur aturan pemformatan dan membiarkan Eclipse memformat kode untuk Anda (idealnya secara otomatis menggunakan "Simpan tindakan" ). Tentu saja, ini mengharuskan Anda memiliki basis kode dengan pemformatan yang konsisten, atau Anda memiliki mandat untuk memformat ulang kode sesuai dengan aturan yang Anda siapkan.
Memiliki "autoformat-on-save" diaktifkan sedikit seperti memiliki kompilasi tambahan, ini memungkinkan otak Anda untuk tetap fokus pada kode itu sendiri, daripada khawatir dengan masalah sepele seperti pemformatan kode atau sintaksis.
Tapi ya, terkadang autoformatter akan mengacaukan meja yang diformat dengan baik yang Anda miliki. Dalam kasus seperti itu saya menggunakan "on / off tag". Ini dikonfigurasikan di bawah tab "on / off tag" di profil pemformatan kode. Dengan menggunakannya, Anda dapat mengecualikan kawasan dalam kode Anda agar tidak diformat secara otomatis:
sumber
Apakah itu direkomendasikan atau tidak tergantung pada siapa yang Anda tanya.
Saya bisa membayangkan bahwa Anda lebih suka memformat kode sendiri, setelah semua, Anda tahu apa yang terbaik dan termudah untuk dibaca sendiri. Di sisi positifnya, jika Anda orang yang perhatian, Anda dapat membuatnya lebih mudah dibaca oleh manusia lain juga.
Mesin tidak memiliki pandangan ke depan seperti itu, dan dapat (seperti yang Anda katakan) membuat kode Anda terlihat sedikit berantakan, bahkan jika mereka memformatnya dengan aturan yang ketat.
IDE atau alat yang bagus sering dapat melakukan pekerjaan semi-layak dalam memformat kode untuk Anda, tetapi tidak akan selalu membuatnya terbaca sebanyak yang Anda bisa.
Jadi, saran saya: jangan menggunakannya kecuali Anda menerima kode dari orang lain, dan itu berantakan sehingga Anda tidak bisa membacanya sebaliknya.
sumber
Anda harus menggunakannya setiap saat untuk memastikan bahwa Anda menggunakan gaya yang konsisten di semua file sumber Anda. Ini juga akan menghemat banyak waktu yang biasanya Anda habiskan untuk mencoba menyesuaikan pemformatan secara manual.
Formatter Java di Eclipse melakukan pekerjaan yang cukup bagus dan sepenuhnya dapat dikustomisasi. Jika Anda tidak setuju dengan pengaturan default (yang saya benar-benar bisa mengerti), maka Anda harus menyesuaikan formatter dengan preferensi gaya pribadi Anda atau apa pun standar yang Anda gunakan. Anda dapat melakukannya di preferensi di bawah Java / Code Style / Formatter.
Pemformat bahkan lebih berguna ketika Anda tidak bekerja sendirian. Sangat mungkin bahwa Anda dan anggota tim Anda akan tidak setuju pada apa yang Anda anggap sebagai gaya kode sempurna ™. Dalam hal ini Anda harus menyetujui dasar yang sama dan sekali dan untuk semua menentukan aturan formatter untuk gaya kode khusus ini. Kemudian semua orang bisa menekan format-pintas dan semuanya sesuai dengan gaya yang disepakati. Dengan begitu preferensi pribadi Anda (saat menulis) tidak akan menghalangi. Dan perhatikan bahwa penata formatter dapat disimpan dalam file proyek Eclipse, sehingga pemformat yang berbeda untuk setiap proyek juga dimungkinkan.
sumber
Meskipun saya suka kode diformat secara otomatis di save (sebenarnya saya mengaktifkannya di proyek pribadi saya). Saya menemukan bahwa saya tidak bisa sepenuhnya merekomendasikan praktik ini dalam tim proyek menggunakan produk berbasis Eclipse karena formatter Eclipse memiliki beberapa bug kritis yang mencegah saya merekomendasikannya.
Khususnya jika Anda memiliki "pembersihan kode" + "formatter" diaktifkan indentasi diperbaiki / tidak tetap pada setiap penyimpanan.
Setiap versi baru Eclipse dapat mengubah formatter (menjadi lebih baik) tetapi akan memperkenalkan perubahan signifikan seperti JavaDocs akhirnya menghapus ruang ekstra setelah
*
tetapi yang diperkenalkan beberapa saat setelah Helios dan banyak perusahaan menggunakan versi gerhana perangkat lunak yang lebih lama dari eclipse yang menggunakan Helios sebagai basis.Pemformat kode yang disediakan oleh Eclipse tidak dapat diperpanjang per API mereka, bahkan secara eksplisit menyatakan javadoc CodeFormatter
Memang, saya belum menemukan alternatif non-komersial yang layak sampai sekarang. Jalopy belum diperbarui selama bertahun-tahun sekarang dan percabangan di github belum terorganisir untuk membuat saya merekomendasikan salah satu dari mereka. Juga tidak memiliki situs pembaruan untuk Eclipse untuk mengintegrasikannya. Saya sebenarnya berencana untuk membuat pemformatan kode sebagai bagian dari build seperti yang saya lakukan pada cleanpom-maven-plugin menggunakan Jalopy tetapi ide itu jatuh di pinggir jalan karena kurangnya pembaruan untuk Jalopy.
sumber