Langsung ke konten utama

Postingan

Menampilkan postingan dengan label Software Engineering

Pembuatan Software Pasti Mengalami Keterlambatan!!!

Yes, Anda tidak salah membaca judul atau mendengar. Saya yakin ketika Anda membuat project secara pribadi ataupun untuk orang lain, client, dan team internal pasti mengalami keterlambatan. Selama menjadi software engineer, saya masih mencari tau alasan mengapa pembuatan software menjadi terlambat.  Oh mungkin karena teamnya kurang kompeten,  Oh munkin timelinenya kurang panjang,  Oh mungkin permintaan yang berubah-rubah di tengah jalan,  Oh mungkin standarisasinya yang kurang baik di terapkan,  Oh mungkin dari awal permintaannya kurang jelas,  dan masih banyak lagi... Sebab musabab diatas hanyalah sedikit dari banyak sebab yang sering saya dengar atau bahkan yang saya ikut terjun didalamnnya. Tapi apakah pembuatan software ngak bisa ontime? jawabannya Bisa, ujar seorang software engineer yang di anggap senior, dan di kenyataannya tidak sesimple kalimat Bisa. Kalimat Bisa sering saya dapatkan ketika client yang minta dan software engineer yang jawab atau jik...

Factory Method: Problem -> Solution -> Results 🚀

  Factory Method: Problem -> Solution -> Results 🚀 Alright, let's dive into this pattern.   The Problem 🤔 Imagine you're building an app, maybe a game where players can choose different types of characters (like Warriors, Mages, Archers). At first, you might just create them directly wherever you need them, like: // Somewhere in your game logic... Character player1 = new Warrior(); Character player2 = new Mage(); This works fine for a small game. But what happens when you add tons of character types? Or maybe the way you create characters gets super complex, needing specific stats or items? Your main code gets cluttered with all this character creation logic. Even worse, if you decide to change how a Warrior is created (maybe they need a specific starting weapon now), you have to hunt down every single place you created a Warrior and change it. Major headache! 😩 It makes your code rigid and hard to update. You're basically locked into the specific classes you...

Laravel Best Practices: The Pragmatic Guide

  Laravel Best Practices: The Pragmatic Guide Mengapa Best Practices Penting dalam Pengembangan Laravel? Dalam dunia pengembangan web yang serba cepat, kita sebagai developer Laravel sering terjebak dalam siklus "yang penting jadi". Aplikasi berjalan? Check. Fitur berfungsi? Check. Tapi tunggu dulu—bagaimana dengan kualitas kode, maintainability, dan skalabilitas jangka panjang? Laravel memang menawarkan ekosistem yang elegan, tetapi tanpa penerapan best practices, kita bisa berakhir dengan "utang teknis" yang menumpuk. Mari kita bahas panduan pragmatis yang akan mengubah cara Anda mengembangkan aplikasi Laravel. Prinsip Single Responsibility Salah satu kesalahan umum yang sering terjadi adalah membuat "Fat Controller"—controller yang melakukan terlalu banyak hal. Controller seharusnya hanya bertanggung jawab untuk mengkoordinasikan permintaan , bukan menangani logika bisnis. Bandingkan kode berikut: // Cara yang kurang baik public function store(Re...