Hello DEV!! saya newcomer didunia backend dan memulai petualangan saya dengan memilih menggunakan Hono sebagai senjata utama untuk menemani dalam perjalanan mengeksekusi logika bisnis, membuat REST API, mengaplikasikan JWT, dan Websocket.
Masalah ini saya temui saat merapihkan kode saya dengan lebih mencoba lebih modular
//room.ts
// ekspektasi yang benar
room.post('/create-room', async (c) =>{......});
//==========================
//index.ts
app.post("/api/room/test-room, (c) => {.....});
app.route("/api", room);
respon yang saya dapat adalah Invalid JSON one or two...
, hal pertama saya lakukan adalah waktu itu mengecek log saya dan tidak ditemukan kalau saya membuat error seperti itu. Lalu saya iseng menambah "/" diakhir endpoint menjadi "/create-room/, dan berjalan sesuai ekspektasi.
Yang saya coba lakukan yaitu "/api/room/test-room" saya ubah menjadi "/api/rom/test-room" dan yap ketika saya memanggil endpoint "/create-room" bisa berhasil. jadi saya hapus dan pindahkan endpoint "/test-room" ke file room.ts karena memang akan dipindahkan juga nantinya agar lebih rapih. jadi berikut gambaran kode nya sekarang.
//room.ts
const room = new Hono().basePath("room");
room.post("/test-room", (c) => {});
room.post("/create-room", (c) => {});
//===================
//index.ts
app.route("/api", room);
Ada beberapa hal yang membuat saya melakukan kesalahan tersebut dalam petualangan seru ini, yaitu:
Kurangnya pengetahuan
Kurangnya pengetahuan teknis dan praktis membuat perjalanan ini cukup rumit dan tidak terstruktur dengan baik. Apa yang saya ekspektasikan terhadap tantangan didepan pasti memiliki jawaban yang diforum ataupun diinternet, ternyata tidak. Seperti kata Austin Kleon dalam bukunya "Steal Like an Artist" bahwa yang namanya proses itu berantakan. Saya seperti anak dalam ramalan yang bisa menyelamatkan desa kelak, karena saya merasa sudah memiliki tongkat sihir maka saya langsung menuju ke dungeon untuk membasmi monster dan berfikir bahwa saya akan bertambah kuat diperjalanan nanti(sebuah cerita klise dari game rpg).
Spaghetti code
Hal pertama dalam pikiran saya adalah tulis code saja dulu, rapikan kemudian. saya hanya memiliki 1 file yaitu index.ts untuk lebih dari 800 baris kode. seluruh interface, type, setting env, middleware dan lainnya ada disitu sehingga saya cukup kerepotan dalam memaintain kode tersebut.
Karena pada awalnya saya hanya ingin membuat CRUD sederhana saja, namun seiring waktu saya ingin mencoba hal lain seperti websocket dan implementasi JWT yang membuat kode semakin banyak dan kompleks. namun sayang ratusan baris itu sudah menjadi bubur yang diaduk.
Kurang teliti
Spaghetti code membuat saya kesulitan sendiri membaca kode saya, ini ironi dimana saya ingin cepat beres namun setelah mencoba merapihkan saya malah dibuat pusing sendiri.
Top comments (0)