10 Buku Pengembang Teratas

Untuk meningkatkan di bidang pengembangan tidak hanya untuk menulis kode yang baik, tetapi juga membaca tentang cara menulisnya.




Hai, Habr! Saya terus membagikan pilihan yang bermanfaat. Baru-baru ini, saya menerbitkan 2 posting yang mencantumkan repositori Github: Bagian 1 dan Bagian 2 . Kali ini saya membawa kepada Anda pilihan buku yang berguna untuk pengembang. Siapa yang peduli - selamat datang di kucing.

Selain semua berkah dunia modern - podcast, video, blog, dll., Membaca buku yang bagus adalah sesuatu yang masih diminati. Saya telah membaca banyak buku bagus tentang pengembangan teknologi dan perangkat lunak, dan masih membaca untuk tetap mengikuti pola-pola baru dan praktik terbaik.

Menemukan buku yang bagus untuk pengembangan perangkat lunak bukanlah tugas yang mudah, karena ekosistem berubah begitu cepat sehingga banyak hal menjadi usang dalam waktu singkat. Hal ini terutama berlaku untuk buku-buku yang menggambarkan versi tertentu dari bahasa pemrograman.
Namun, ada buku-buku "abadi": mereka dikhususkan untuk meta-tema, pola desain, atau konsep umum.

Pilihan berikut terdiri dari buku-buku paling populer dan paling banyak dibaca. Buku yang masih relevan saat ini dan pengembang yang berpengalaman sering merekomendasikan kepada profesional pemula. Saya tahu bahwa waktu sangat berharga, terutama bagi pengembang. Tetapi jika Anda dapat membaca beberapa buku ini, pasti akan membantu Anda dan karier Anda. Harap dicatat bahwa buku-buku dari daftar tidak diatur berdasarkan tingkat kepentingannya - buku-buku itu semuanya direkomendasikan untuk dibaca.

1. Memecahkan Coding Wawancara atau Programmer Karier



Saya sangat merekomendasikan buku ini kepada semua orang yang ingin mempersiapkan wawancara secara menyeluruh. Penulis, G. Luckman MacDowell, seorang insinyur perangkat lunak yang berpengalaman, adalah pewawancara sekaligus kandidat. Dia akan mengajarkan Anda untuk menemukan detail tersembunyi dalam pertanyaan, memecah masalah menjadi beberapa bagian, dan juga membantu meningkatkan keterampilan belajar Anda.

Selain itu, penulis memberi kami 189 pertanyaan nyata untuk wawancara dan solusi nyata mereka sehingga Anda dapat mempersiapkan diri dengan baik untuk wawancara berikutnya.

2. Kode Lengkap atau Kode Sempurna



Buku karya Steve McConnell ini adalah salah satu dari buku-buku yang setiap programmer kemungkinan besar lewati paling tidak sekali dalam hidupnya.

Ini adalah analisis desain perangkat lunak yang komprehensif, ditulis dengan baik dan banyak diminati di industri. Buku ini mencakup topik-topik seperti desain, penulisan kode, debugging, dan pengujian.

Buku ini kemungkinan merupakan investasi paling menguntungkan bagi pengembang dengan pengalaman profesional dari satu hingga tiga tahun. Tetapi saya juga merekomendasikan publikasi ini kepada para pemula, karena ini membantu di awal pengembangan perangkat lunak.

Kesimpulan utama: pengembang harus mengelola kompleksitas dan menulis kode yang mudah dipelihara dan dibaca baik untuk mereka sendiri maupun orang lain.

3. Kode Bersih atau Kode Bersih



Buku Robert Martin (atau Paman Bob), Clean Code, adalah salah satu buku pemrograman paling populer. Itu ditulis untuk mengajar insinyur perangkat lunak cara menulis kode bersih. Buku ini berisi banyak contoh yang menunjukkan cara memperbaiki kode agar lebih mudah dibaca dan dikelola. Tetapi perlu diingat bahwa publikasi ini difokuskan khusus untuk Jawa. Meskipun beberapa pola dan teknik meluas ke pemrograman umum dan bahasa lain, audiens utama untuk buku ini adalah pengembang Java.

Perlu juga dicatat bahwa buku itu diterbitkan pada 2008. Beberapa informasi, seperti pemformatan kode, saat ini kurang relevan karena alat dan IDE yang tersedia. Tapi tetap saja, ini adalah buku yang bagus.

4. Refactoring atau Meningkatkan Desain Kode yang Ada



Edisi kedua buku Martin Fowler menjelaskan apa sebenarnya refactoring itu, seperti halnya edisi pertama, dirilis 20 tahun lalu. Setelah membaca buku ini, Anda akan menemukan jawaban untuk pertanyaan-pertanyaan berikut:

  • Mengapa saya harus memperbaiki kode saya?
  • Bagaimana saya bisa mengenali kode yang membutuhkan refactoring?
  • Bagaimana saya bisa berhasil memperbaiki kode saya?

Setelah membaca buku ini, Anda akan memahami proses itu sendiri dan prinsip-prinsip umum refactoring, yang dapat segera Anda terapkan pada kode Anda. Anda juga akan belajar cara mendeteksi beting di kode rekan setim Anda yang membutuhkan refactoring.

5. Kepala Pola Desain Pertama dan Pola Desain



Buku ini, yang memiliki 4 penulis sekaligus, mengajarkan Anda pola desain dan praktik terbaik yang digunakan oleh pengembang lain untuk membuat perangkat lunak yang fungsional, dapat digunakan kembali, dan fleksibel. Publikasi ini memiliki banyak presentasi visual yang akan membantu Anda lebih mudah menguasai konsep-konsep baru.

Jika Anda ingin belajar tentang hal-hal seperti pabrik, singleton, injeksi ketergantungan, dll., Buku ini adalah pilihan yang bagus. Contoh-contoh ditulis dalam Java, jadi akan menyenangkan untuk mengetahui hal ini, atau bahasa berorientasi objek lainnya.

6. Pola Arsitektur Aplikasi Perusahaan atau Template Aplikasi Perusahaan



Buku hebat lain karya Martin Fowler tentang pengembangan aplikasi perusahaan. Setelah tutorial singkat, Martin menawarkan lebih dari 40 templat sebagai solusi untuk masalah umum dalam pengembangan aplikasi perusahaan. Dalam buku ini Anda akan menemukan sejumlah besar visualisasi UML dan contoh kode yang ditulis dalam Java atau C #.

Setelah membaca buku, Anda dapat membagi aplikasi korporat ke dalam level, mengetahui pendekatan dasar untuk mengatur logika bisnis, menggunakan template MVC untuk mengatur aplikasi web dan mengelola pemrosesan paralel beberapa transaksi.

Namun, buku ini cukup lama, sehingga konsep modern seperti REST, cloud atau JSON tidak disebutkan. Ini adalah bahan yang bagus untuk dipelajari, tetapi tetap harus kritis.

7. Bekerja secara Efektif dengan Kode Legacy atau Bekerja secara efektif dengan kode legacy



Dalam buku ini, penulis menawarkan strategi untuk bekerja dengan basis kode legacy kode yang besar dan terbuka. Anda mungkin berpikir: β€œ2020 adalah tahunnya. Kode lama tidak lagi menjadi masalah, karena kami memiliki kode yang bersih, didukung, dan layanan mikro. " Biarkan saya meyakinkan Anda bahwa ini adalah kesalahpahaman. Kode lama masih merupakan salah satu tantangan terbesar bagi banyak perusahaan.

Setelah membaca buku ini, Anda akan dapat memahami mekanisme umum untuk mengubah perangkat lunak, misalnya: menambahkan fitur, memperbaiki bug, mengoptimalkan kinerja, dan meningkatkan desain. Selain itu, Anda akan belajar cara menyiapkan kode lawas untuk pengujian dan menentukan di mana Anda perlu mengubahnya.

Buku ini berisi contoh-contoh yang ditulis dalam Java, C ++, C dan C #, dan juga berisi tips tentang cara bekerja dengan kode lama, yang tidak terkait dengan kode berorientasi objek.

8. Clean Coder atau Programmer Sempurna



Buku Paman Bob lain yang mengajarkan teknik, praktik, dan alat untuk keterampilan perangkat lunak sejati. Ini berisi tips praktis untuk mengevaluasi proyek, menulis kode, refactoring, dan pengujian.

Setelah membaca buku ini, Anda akan belajar bagaimana menghadapi konflik, jadwal sibuk dan manajer irasional; belajar menghadapi tekanan konstan dan menghindari kejenuhan; pelajari cara mengatur waktu Anda, cara menulis kode berkualitas tinggi dan membantu menciptakan lingkungan di mana pengembang dan tim dapat berhasil berkembang.

Buku ini cukup populer, tetapi saya pikir tidak semua yang ada di dalamnya adalah emas murni. Ini berisi banyak cerita dari kehidupan dan percakapan hipotetis, yang dalam kebanyakan kasus mengarah pada kesimpulan bahwa pengembang pada akhirnya bertanggung jawab atas apa yang dia lakukan. Kadang-kadang bagian seperti itu berjalan terlalu jauh: di salah satu bagian ini, pengembang yang kode-nya menghasilkan kesalahan menyarankan kompensasi kepada perusahaan atas kerugian finansial.

Karena itu, saya menyarankan Anda untuk membaca buku ini dengan seksama dan dengan kritik.

9. Pengantar Algoritma atau Algoritma: Konstruksi dan Analisis



Publikasi ini tidak lebih dari panduan wajib untuk berbagai jenis algoritma. Buku ini profil yang sangat luas dan cocok untuk pemula dan profesional. Materi tersebut dinyatakan dengan jelas dan mengungkapkan inti dari masalah tersebut. Tetapi pada saat yang sama, buku itu tidak cukup sederhana.

Ini mencakup topik-topik seperti struktur data, algoritma cepat, algoritma polinomial untuk masalah-masalah sulit, teori grafik, geometri komputasi dan banyak lagi. Meskipun buku ini berisi beberapa contoh kode semu, menurut pendapat saya, ini sangat "teoretis".

10. dari Programmer Pragmatis atau Programmer Pragmatis



Ini adalah salah satu buku paling serius yang pernah saya baca. Publikasi ini penuh dengan tips praktis teknis dan profesional yang telah membantu saya dalam banyak proyek, serta membantu saya menjadi lebih baik sebagai pengembang.

Buku ini sangat relevan bahkan pada tahun 2020, terutama edisi terbaru. Di sini, penulis menganalisis apa artinya menjadi pengembang modern, mengeksplorasi berbagai topik: dari tanggung jawab pribadi dan pertumbuhan karier hingga teknik arsitektur.

Setelah membaca buku ini, Anda akan memahami apa itu pembelajaran berkelanjutan dan betapa pentingnya itu; belajar bagaimana menulis kode yang fleksibel, mudah beradaptasi dan dinamis, cara memecahkan masalah persaingan, cara menjaga keamanan, cara menguji "tanpa ampun dan efektif", dan banyak lagi.

Jika saya memilih hanya satu buku untuk memberi tahu Anda, saya akan memilih yang ini!

Kesimpulan


Itu adalah daftar beberapa buku paling populer untuk pengembang. Menurut saya, yang terbaik dari daftar adalah "Programmer Pragmatis" oleh E. Hunt dan D. Thomas. Buku-buku Robert S. Martin sangat diminati dan populer di banyak pengembang, tetapi saya menyarankan Anda untuk kritis dalam membacanya, karena saya tidak setuju dengan Paman Bob tentang banyak masalah.

Tentunya, Anda sudah membaca banyak dari buku-buku ini, atau setidaknya memegangnya di tangan Anda, atau setidaknya melihatnya di Internet. Seperti yang ditulis oleh penulis artikel, ini adalah buku "abadi" yang dikhususkan untuk dasar-dasar. Jika Anda memiliki sesuatu untuk melengkapi daftar - bagikan dalam komentar, saya pikir itu akan bermanfaat bagi semua orang.

All Articles