4. Tidak berfikir Abstraksi.

Kita tidak selalu dihadapkan pada persoalan sederhana dalam dunia Software Engineering.

Apalagi ini adalah dunia yang penuh dengan pekerjaan teknis dan rumit. Bahkan seiring meningkatnya pengetahuan dan karir, maka tingkat kesulitan persoalan teknis yang harus kita selesaikan akan menjadi lebih sulit.

hmmm, maksudnya apa ya ? Apa hubungannya dengan abstraksi ?

Maksudnya, ketika persoalan menjadi lebih sulit, cobalah berfikir abstrak, karena akan sangat membantu.

  1. Abstraksi berarti kita memikirkan dahulu konsep solusi dari sebuah masalah..
  2. Abstraksi berarti memikirkan hal prinsip dalam membuat solusi tanpa masuk terlalu detil ke dalam implementasinya.

Dalam abstraksi, kita belum berbicara mengenai library nya apa, pakai hardware apa, dan lain sebagainya yang terlalu spesifik terhadap merk teknologinya.

Berpikir abstrak juga berarti menyederhanakan solusi, berpikir sesuatu dalam kapasitas otak kita, dan di dalam imajinasi terukur otak kita.

Hal ini berarti otak kita berpikir lebih konseptual. Konsep biasanya akan lebih mudah dicerna dan dipahami oleh berbagai pihak yang terlibat dalam pengerjaan aplikasi.

5. Copy paste code aplikasi

Ctrl-C, Ctrl-V, voiillaa..aplikasi kita sudah bisa dipakai. Ambil dari stackoverflow.com, baeldung.com, howtodoinjava.com, vogella.com, dll.

Apakah itu tidak diperbolehkan ?

Tentu saja boleh, selama kita tahu dan mengerti dengan isi dari code yang kita copy paste tersebut, maka tidak masalah. Tetapi akan bermasalah kalau kita tidak mengerti logic di dalam code yang kita copy paste tersebut.

Dan INGAT, setiap anda akan diminta pertanggung jawabannya terhadap coding yang dia perbuat :). #hmmm..

6. Tidak memakai Design Pattern.

Design Pattern lebih kepada best practice dalam permasalahan tertentu.

Design Pattern memang terkadang menjadi kontroversi ketika diterapkan di pemrograman era sekarang, dimana paradigma pemrograman dan paradigma arsitektur berkembang pesat.

Kontroversinya dimana ?

Penggunaannya yang tidak tepat di dalam sebuah implementasi aplikasi dan paradigma pemrograman tertentu akan membuat code terlihat sedikit lebih rumit, terlihat membingungkan, atau malah tidak diperlukan. Tetapi kalau penggunaannya tepat dengan permasalahan yang dihadapi, maka mestinya code nya akan mudah dibaca dan akan memudahkan dalam maintenance nya nanti.

Design Pattern aslinya ditujukan untuk pemrograman berorientasi objek. Seperti pertama kali diterbitkan buku mengenai Design Pattern pada tahun 1994 oleh Gang of Four yang terdiri dari Erich Gamma, Richard Helm, Ralph Johnson, dan John Vlissides. Judul bukunya : Design Pattern : Elements of Reusable Object – Oriented Software.

Seiring berkembangnya zaman, Design Pattern berkembang lebih banyak dan lebih luas, menjangkau banyak paradigma pemrograman, paradigma arsitektur, sehingga tidak melulu untuk pemrograman berorientasi objek.

Java, sebagai bahasa pemrograman berorientasi objek, sangat cocok dengan konsep Design Pattern ini. Penerapan konsep Design Pattern ini di bahasa Java ditunjang dengan fitur-fitur bawaan bahasa Java seperti Inheritance, Polymorphism, dll.

Jadi kita harus pakai Design Pattern gitu ?

Tidak ada paksaan dalam memakai design pattern dalam aplikasi yang kita buat. Tetapi mengabaikannya berarti mengabaikan best practice dalam aktifitas coding. Belajarlah tentang Factory Pattern, Builder Pattern, Template Method Pattern dan dilanjutkan ke design pattern lainnya.

Seiring dengan pengalaman menghadapi persoalan yang rumit, maka pembelajaran mengenai design pattern akan jadi lebih mudah.