Pernah nggak ngalamin, mau nambah satu fitur di aplikasi, eh tiba-tiba bagian lain ikut error? ๐ Rasanya kayak narik satu kabel di meja, terus semua kabel lain ikut ketarik.
Semakin gede proyeknya, biasanya makin rawan efek domino begini. Ujung-ujungnya, kerjaan nambah fitur malah jadi kerjaan padamkan kebakaran.
Nah, salah satu โjurusโ biar kode nggak gampang berantakan adalah pakai SOLID Principles. Berikut contoh nya untuk project React + Vite:
1. S โ Single Responsibility
Satu file, satu tugas.
// services/userService.js
export const fetchUsers = async () => fetch("/api/users").then(r => r.json());
// pages/Dashboard.jsx
import { fetchUsers } from "../services/userService";
import UserList from "../components/UserList";
2. O โ Open/Closed
Bisa nambah fitur tanpa bongkar yang lama.
export default function Button({ type="primary", children }) {
const styles = { primary: "bg-blue-500", secondary: "bg-gray-200" };
return <button className={styles[type]}>{children}</button>;
}
3. L โ Liskov Substitution
Komponen turunan harus bisa gantiin induknya.
function BarChart(props) { return <BaseChart {...props} />;}
4. I โ Interface Segregation
Props sesuai kebutuhan, jangan kebanyakan fungsi yang nggak dipakai.
5. D โ Dependency Inversion
Bergantung ke service, bukan langsung ke API.
// services/productService.js
export const getProducts = async () => fetch("/api/products").then(r => r.json());
Kalau prinsip ini dipakai, kode jadi lebih rapi, gampang dikembangin, dan nggak gampang bikin pusing kepala. Proyek pun bisa tumbuh tanpa bikin programmernya stres. Dan yang paling pentingโฆ kita masih bisa ngopi santai sambil lihat build sukses tanpa drama. โ๐
SOLID versi politik ๐คญ
Top comments (1)
reserved()