JavaRush /Java Blog /Random-ID /Rehat kopi #70. Cara menulis kode Java lebih cepat dengan...

Rehat kopi #70. Cara menulis kode Java lebih cepat dengan Lombok. Daftar pelatihan untuk programmer pemula

Dipublikasikan di grup Random-ID

Cara Mempercepat Penulisan Kode Java dengan Lombok

Sumber: Dev.to Kami menulis kode boilerplate yang sama di setiap aplikasi. Misalnya:
  • Pengambil;
  • Setter;
  • Desainer;
  • Pola desain pembangun;
  • dan banyak lagi…
Bukankah lebih baik jika pekerjaan rutin ini bisa dipercayakan kepada seseorang? Dan di sinilah Lombok dapat membantu kita.Rehat kopi #70.  Cara menulis kode Java lebih cepat dengan Lombok.  Daftar pelatihan saya untuk programmer pemula - 1

Apa yang dia lakukan?

Ini menghasilkan kode byte untuk tugas-tugas umum ini (pengambil, penyetel, dll.) dan menempatkannya ke dalam kelas ., membuatnya dapat digunakan dalam kode yang kita tulis.

Bagaimana ini bisa terjadi?

Anda perlu menambahkan ketergantungan Lombok ke build Maven Anda. Kemudian Anda perlu memberi anotasi pada kelas yang diinginkan, bidang dengan beberapa anotasi Lombok. Mari kita lihat kodenya! Tanpa Lombok:
public class Human {
    private int id;
    private String name;
    private int ageInYears;

    public Human() { }

    public Human(int id, String name, int ageInYears) {
        this.id = id;
        this.name = name;
        this.ageInYears = ageInYears;
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public int getAgeInYears() {
        return ageInYears;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAgeInYears(int ageInYears) {
        this.ageInYears = ageInYears;
    }

    // Builder pattern
  public Human id(int id){
        this.id = id;
        return this;
    }
    public Human name(String name){
        this.name = name;
        return this;
    }
    public Human ageInYears(int ageInYears){
        this.ageInYears = ageInYears;
        return this;
    }

    @Override
  public String toString(){
        return String.format("Human(id=%s, name=%s, ageInYears=%s)",
                this.id, this.name, this.ageInYears);
    }
}
Sekarang mari kita gunakan Lombok:
import lombok.*;
@Getter @Setter
@AllArgsConstructor @NoArgsConstructor
@Builder @ToString
public class Human {
    @Setter(AccessLevel.NONE)
    private int id;
    private String name;
    private int ageInYears;
}
Ketergantungan Maven terlihat seperti ini:
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.16</version>
    <scope>provided</scope>
</dependency>
Catatan: Bagian versi akan berubah tergantung rilis Lombok terbaru.

Apa yang telah kita lakukan?

Kami menggunakan anotasi untuk membuat pengambil, penyetel, konstruktor, pola desain Builder, dan implementasi toString. Kita juga dapat melakukan perubahan pada beberapa anotasi, seperti penyetel untuk kolom id. Kami menyetel tingkat aksesnya ke Tidak Ada: ini berarti kami tidak membuat penyetel untuknya.

Apakah hal itu layak dilakukan?

Kami menulis 52 baris saat kami tidak menggunakan Lombok. Kami menulis 8 baris menggunakan Lombok. Lombok membantu kami mengurangi ukuran kode hampir 4 kali lipat . Skor ini dapat ditingkatkan jika kita memiliki lebih banyak variabel di kelas kita. Lombok memiliki lebih banyak anotasi dengan banyak informasi berguna. Untuk melihatnya, kunjungi situs web .

Kesimpulan

Lombok membantu Anda fokus pada kode bisnis Anda dan tidak mengkhawatirkan detail kecil (pengambil/setter/konstruktor/pola desain umum dan konstruksi Java lainnya).

Daftar pelatihan untuk programmer pemula

Sumber: DZone Teman saya memiliki seorang putra yang akan segera lulus SMA. Dia tahu sedikit pemrograman dan bertanya-tanya apakah dia harus menjadi seorang programmer. Baru-baru ini dia bertanya kepada saya: “Apa yang harus saya ajarkan selanjutnya?” Rehat kopi #70.  Cara menulis kode Java lebih cepat dengan Lombok.  Daftar pelatihan saya untuk programmer pemula - 2Ketika saya pertama kali belajar pemrograman, saya berasumsi bahwa jawaban atas pertanyaan “Apa yang harus saya pelajari selanjutnya” adalah teknologi pemrograman baru, bahasa baru, perpustakaan baru, atau semacamnya. Seiring kemajuan karir saya, saya berubah pikiran. Selain mengasah keterampilan pemrograman Anda dan mempelajari bahasa baru, calon programmer harus belajar di bidang terkait (saya akan menjelaskannya di bawah). Dalam teks ini, saya ingin mengumpulkan daftar keterampilan yang saya rekomendasikan untuk dikuasai oleh programmer. Tujuan saya bukan untuk mencantumkan semua pengetahuan terkini atau memberikan tautan ke tutorial. Sebaliknya, saya ingin membantu para pemula untuk mengenal seperangkat alat, teknik, dan keterampilan yang dapat membantu mereka menulis program.

Garis komando

Saya kira saya sudah dianggap "tua" menurut beberapa standar. Pada zaman saya, menggunakan komputer berarti duduk di DOS dan mengetikkan perintah. Banyak hal telah berubah sejak saat itu. Sangat penting untuk mempelajari cara menggunakan baris perintah. Banyak alat hanya menyediakan antarmuka baris perintah. Dalam beberapa kasus, Anda dapat bekerja lebih cepat pada baris perintah. Anda harus dapat melakukan hal-hal dasar seperti:
  • Penjelajahan direktori.
  • Manajemen file (salin/pindahkan/hapus).
  • Mengompilasi dan/atau menjalankan kode sumber.
Jika Anda menggunakan Windows, saya sarankan untuk mengenal Linux, mungkin menggunakan WSL2 daripada mesin virtual lengkap. Jika Anda menggunakan Mac, Anda dapat menggunakan shell yang ada di dalam OS. Anda juga bisa mendapatkan pengalaman bagus dengan menginstal mesin virtual Linux.

Kontrol versi

Anda perlu mempelajari cara melacak kode sumber Anda menggunakan kontrol versi. Perangkat lunak kontrol versi memungkinkan Anda melacak riwayat revisi proyek Anda, yang sangat penting untuk proses debug. Ini juga mempermudah kolaborasi pada basis kode. GitHub dan GitLab adalah dua situs populer untuk menghosting proyek sumber terbuka. Mereka berdua menggunakan Git (seperti yang saya kira dari namanya). Git adalah alat paling populer saat ini, jadi saya sarankan untuk memahami penggunaan Git pada baris perintah dengan GitHub atau GitLab sebagai repositori Anda.

Jaringan

Kebanyakan program saat ini memerlukan setidaknya beberapa tingkat jaringan. Memahami cara kerja jaringan itu penting. Setidaknya, Anda harus memahami dasar-dasar seperti alamat IP, port, dan protokol. Mempelajari tentang firewall, penyeimbangan beban, proxy akan membuahkan hasil di kemudian hari. Dan tidak hanya dalam karir pemrograman Anda. Setuju, senang sekali memahami pertanyaan “mengapa Wi-Fi tidak berfungsi?” Saya juga merekomendasikan mempelajari dasar-dasar layanan cloud seperti AWS dan Azure. Mencoba menyiapkan AWS Virtual Private Cloud dengan subnet, aturan login, gateway akan memberi Anda pengalaman jaringan.

Pengujian

Bagian integral dari penulisan perangkat lunak yang baik adalah mempelajari cara menguji perangkat lunak. Banyak dari kita belajar memprogram dan kemudian “menguji” kode kita. Pengujian unit dan integrasi adalah keterampilan penting yang dapat diterapkan pada hampir semua perangkat lunak yang Anda gunakan. Meskipun pengujian mungkin tampak membosankan pada awalnya, keterampilan ini akan membuahkan hasil dan memungkinkan Anda bekerja lebih cepat dan lebih percaya diri.

Integrasi Berkelanjutan

Integrasi berkelanjutan, atau CI, menggabungkan pengujian dan kontrol versi. Setiap kali Anda membuat iterasi kode baru, Anda memiliki serangkaian pengujian yang berjalan secara otomatis. Alat CI telah meningkat secara signifikan selama 10 tahun terakhir. GitHub dan GitLab memiliki solusi CI bawaan (masing-masing GitHub Actions dan GitLab CI) dan mudah untuk memulai. Seperti halnya pengujian, memulai CI akan sulit. Namun begitu Anda mempelajari dasar-dasarnya, Anda akan menemukan masalah dengan lebih mudah dan cepat. Saya akan merekomendasikan mencari tutorial mendetail dengan contoh bahasa pemrograman yang Anda gunakan.

Kemampuan menulis

Ini mungkin area yang paling saya remehkan ketika saya mulai bekerja sebagai programmer. Saya tidak melebih-lebihkan: Saya sekarang percaya bahwa keterampilan paling penting yang dapat ditambahkan oleh seorang programmer ke dalam persenjataannya adalah menulis. Keterampilan menulis yang baik berarti Anda dapat menjelaskan suatu ide dengan jelas menggunakan jumlah kata yang minimal. Saat Anda belajar pemrograman, Anda biasanya mengerjakannya sendiri, jadi menulis tidak perlu. Namun saat Anda mulai bekerja dalam tim, Anda perlu menulis:
  • Dokumentasi;
  • Laporan bug;
  • Permintaan fitur;
  • Saran pelanggan;
  • Dokumen dengan persyaratan;
  • Email (banyak email!);
  • Pesan teks;
  • Postingan blog (mungkin);
Belajar menulis. Latihan. Ikuti kursus menulis. Itu akan memberi keuntungan seumur hidup Anda. Juga: belajar membaca dengan baik. Ketika saya pertama kali memulai pengembangan profesional, saya terintimidasi oleh dokumen persyaratan. Sekarang saya menyadari bahwa meluangkan beberapa jam untuk mempelajari informasi ini dengan cermat akan menghemat waktu berbulan-bulan untuk membuat hal yang salah.

Bahasa pemrograman lainnya

Saat ini, mengetahui satu bahasa pemrograman saja tidak cukup. Hampir setiap programmer harus mengetahui setidaknya beberapa hal. Penting untuk mempelajari bahasa lain untuk mempelajari teknik-teknik baru. Saya merekomendasikan mempelajari beberapa kategori bahasa yang berbeda. Dalam urutan prioritas: Pemrograman fungsional. Sebagian besar sekolah masih belum mengajarkan pemrograman fungsional (FP). FP adalah pendekatan ampuh yang membuat penulisan berbagai jenis kode menjadi lebih mudah. Saya bias, tapi saya akan merekomendasikan Haskell sebagai bahasa terbaik untuk dipelajari karena akan membantu Anda memahami FP lebih baik daripada banyak bahasa lainnya. Belajar bahasa dari keluarga LISP juga berguna. Mempelajari pemrograman fungsional akan membantu Anda menulis kode yang lebih baik di hampir semua bahasa. Pemrograman Sistem. Bahasa sistem termasuk dalam tingkat yang lebih rendah dan memungkinkan kontrol yang lebih baik atas pengoperasian program. Dengan mempelajarinya, Anda akan mempelajari cara kerja program pada sistem, yang bisa sangat berguna untuk memahami dan men-debug masalah dalam bahasa lain. Saya sarankan mempelajari Rust, lalu C dan C++. Bahasa berorientasi objek. Java dan C# adalah dua bahasa berorientasi objek paling populer di keluarga ini. (Ya, Python dan C++ juga populer, tapi saya akan menyorotnya secara terpisah). OOP memperkenalkan banyak paradigma baru dan mungkin masih merupakan pendekatan pemrograman yang paling populer, meskipun saya pribadi lebih memilih pendekatan pemrograman fungsional. Namun, ada banyak hal yang bisa dipelajari dari pemrograman berorientasi objek, dan kemungkinan besar Anda akan menulis kode berorientasi objek dalam karier Anda. Penulisan naskah. Python dan Ruby adalah dua bahasa scripting populer dalam keluarga aplikasi berorientasi objek. Secara khusus, Python banyak digunakan di bidang terkait seperti DevOps dan ilmu data. Selain itu, ini adalah bahasa sederhana yang cukup mudah untuk memulai.

Metode Pemrograman

Apa pun bahasa pemrograman yang Anda gunakan, ada baiknya Anda membiasakan diri dengan beberapa teknik tambahan yang melampaui bahasa spesifik Anda, termasuk:
  • Pemrograman basis data. Saya sangat merekomendasikan belajar SQL. SQLite dan PostgreSQL adalah dua DBMS sumber terbuka untuk dijelajahi.
  • Paralelisme dan pemrograman asinkron. Hal ini menjadi semakin penting saat ini.
  • Pemrograman jaringan , terutama membuat server dan klien HTTP.
  • Membuat antarmuka web menggunakan HTML/CSS/JavaScript.
  • Buat serial data dalam format seperti JSON, YAML, dan file biner.

Kesimpulan

Informasi di atas mungkin terkesan rumit. Anda tidak perlu berpikir bahwa Anda perlu mempelajari semua ini untuk menjadi seorang programmer. Ini salah. Menjadi seorang programmer hebat membutuhkan waktu dan latihan profesional. Jika Anda belum memulai pemrograman, saya sarankan memulai dengan beberapa proyek kesayangan. Pertimbangkan untuk berkontribusi pada proyek sumber terbuka karena ini akan membantu Anda merasa nyaman dan belajar dari pembuat kode berpengalaman. Banyak programmer yang senang berbagi ilmunya dengan para pemula.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION