搜索

PythonReactSEOPDF
GitHub Skill

refactor-backend

Panduan refactor khusus Backend (Laravel)

gmedia☆ 6 仓库 Stars2 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Refactor Backend (Laravel)

Lakukan refactor kode backend secara TERKONTROL tanpa merusak API contract, response structure, atau test existing.

🔌 MCP Tools yang Digunakan

Tool Kapan Digunakan
mcp_laravel-boost_database-schema WAJIB cek schema sebelum refactor Model
mcp_laravel-boost_list-routes Verifikasi routes tidak berubah
mcp_laravel-boost_search-docs Cari best practices Laravel
mcp_laravel-boost_tinker Test query Eloquent sebelum commit
mcp_laravel-boost_last-error Debug jika test gagal
mcp_filesystem_read_file Baca file referensi

🚫 ATURAN API COMPATIBILITY

DILARANG Mengubah:
  • ❌ Route URI, HTTP method
  • ❌ Request/Response payload structure
  • ❌ Response JSON keys
  • ❌ Query parameter names
Yang DIPERBOLEHKAN:
  • ✅ Refactor internal (pemindahan logic antar layer)
  • ✅ Penambahan typing, Resource, FormRequest

🏗️ ARSITEKTUR BACKEND

1. Controller (Tipis!)

Controller HANYA BOLEH:

  • Menerima FormRequest
  • Mapping ke DTO (jika perlu)
  • Memanggil Action
  • Return Resource
2. FormRequest
  • WAJIB spesifik per operasi: StoreDepartmentRequest, UpdateEmployeeRequest
  • Rules sesuai database schema
3. DTO (Opsional)

Gunakan jika:

  • ≥ 3 field bermakna bisnis
  • Data melewati lebih dari satu layer
4. Action (Opsional)

Gunakan jika:

  • Ada orchestration multi-tabel
  • Ada business rule kompleks
5. Domain Service (Opsional)

Gunakan jika:

  • Ada aturan bisnis reusable

📖 Referensi Pattern

# WAJIB cek schema sebelum refactor:
mcp_laravel-boost_database-schema()

# Baca file existing untuk pattern:
mcp_filesystem_read_file(path: "app/Http/Controllers/PositionController.php")
mcp_filesystem_read_file(path: "app/Http/Requests/Positions/StorePositionRequest.php")
Pattern File Referensi
Thin Controller app/Http/Controllers/PositionController.php
FormRequest app/Http/Requests/Positions/StorePositionRequest.php
Resource app/Http/Resources/Positions/PositionResource.php

💻 ATURAN CODING

Controller Signatures
// ✅ BENAR
public function store(StoreDepartmentRequest $request): JsonResponse
public function update(UpdateDepartmentRequest $request, Department $department): JsonResponse

// ❌ SALAH  
public function store(Request $request) // tidak spesifik
Response & Status Codes
Method Status Code
store() 201 Created
update() 200 OK
destroy() 204 No Content
PHPDoc WAJIB
/**
 * Store a newly created department.
 *
 * @param \App\Http\Requests\StoreDepartmentRequest $request
 * @return \Illuminate\Http\JsonResponse
 */

⚠️ ANTI OVER-ENGINEERING

JANGAN buat DTO/Action/Domain Service jika:

  • Logic hanya CRUD sederhana
  • Tidak ada orchestration
  • Hanya save model tanpa transformasi

✅ Verification

// turbo-all
./vendor/bin/sail test

Jika test gagal:

mcp_laravel-boost_last-error()

Gunakan mcp_laravel-boost_list-routes untuk verify routes tidak berubah.


📋 CHECKLIST

  • Controller: tipis, signature jelas, PHPDoc lengkap
  • FormRequest: spesifik, rules sesuai schema
  • Resource: konsisten dengan response lama
  • Test PASS: ./vendor/bin/sail test

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-03-11
索引更新时间
2026-03-11
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!