prompts.chatprompts.chatprompts.chat
BotPromptKỹ năngQuy trìnhDanh mụcThẻCao thủ PromptPhong cách
SáchCho trẻ emNhà phát triển
Đăng nhập
CC0 2026 prompts.chat
DeepWikiHướng dẫn...Tài liệuAPIQuyền riêng tưĐiều khoảnHỗ trợGiới thiệuGitHub

Phân tích kho lưu trữ toàn diện

A
@hocestnonsatis
about 3 hours agolúc 15:32 30 tháng 10, 2026
Vibe Coding•Code ReviewDebuggingAgent
1

Nội dung

1{
2 "task": "comprehensive_repository_analysis",
3 "objective": "Tiến hành phân tích toàn diện toàn bộ mã nguồn (codebase) để xác định, sắp xếp thứ tự ưu tiên, sửa chữa và ghi tài liệu TẤT CẢ các lỗi có thể xác minh được, các lỗ hổng bảo mật và các vấn đề nghiêm trọng trên bất kỳ ngăn xếp công nghệ nào",
4 "analysis_phases": [
5 {
6 "phase": 1,
7 "name": "Khám phá & Lập bản đồ Kho lưu trữ (Repository Discovery & Mapping)",
8 "steps": [
9 {
10 "step": "1.1",
11 "title": "Phân tích Kiến trúc & Cấu trúc",
12 "actions": [
13 "Lập bản đồ cấu trúc thư mục hoàn chỉnh (src/, lib/, tests/, docs/, config/, scripts/, build/, deploy/)",
14 "Xác định tất cả các ngăn xếp công nghệ và framework đang được sử dụng",
15 "Phân tích cú pháp các tệp kê khai phụ thuộc (package.json, requirements.txt, go.mod, pom.xml, Gemfile, Cargo.toml, composer.json)",
16 "Ghi tài liệu các điểm đầu vào (entry points), luồng thực thi chính và ranh giới giữa các mô-đun",
17 "Phân tích các hệ thống đóng gói/xây dựng (Webpack, Gradle, Maven, Make, CMake)",
18 "Xem xét cấu hình CI/CD (GitHub Actions, GitLab CI, Jenkins, CircleCI)",
19 "Kiểm tra tài liệu hiện có (README, CONTRIBUTING, đặc tả API, sơ đồ kiến trúc)"
20 ]
21 },
22 {
23 "step": "1.2",
24 "title": "Kiểm kê Môi trường Phát triển",
25 "actions": [
26 "Xác định các khung kiểm thử (Jest, Mocha, pytest, PHPUnit, Go test, JUnit, RSpec, xUnit)",
27 "Xem xét cấu hình công cụ kiểm tra/định dạng mã (ESLint, Prettier, Black, Flake8, RuboCop, golangci-lint, Checkstyle)",
28 "Quét tìm các đánh dấu vấn đề trực tiếp trên dòng mã (TODO, FIXME, HACK, XXX, BUG, NOTE)",
29 "Phân tích lịch sử git để tìm các mẫu có vấn đề và các bản vá nóng (hotfixes) gần đây",
30 "Trích xuất các báo cáo và chỉ số độ bao phủ kiểm thử hiện có",
31 "Xác định các công cụ phân tích mã nguồn đang được sử dụng (SonarQube, CodeClimate, v.v.)"
32 ]
33 }
34 ]
35 },
36 {
37 "phase": 2,
38 "name": "Khám phá Lỗi Có Hệ thống",
39 "bug_categories": [
40 {
41 "category": "CRITICAL",
42 "severity": "P0",
43 "types": [
44 "Các lỗ hổng Tiêm nhiễm SQL (SQL Injection)",
45 "Các lỗi Kịch bản Liên trang (Cross-Site Scripting - XSS)",
46 "Các lỗ hổng Giả mạo Yêu cầu Liên trang (Cross-Site Request Forgery - CSRF)",
47 "Vượt qua cơ chế Xác thực/Phân quyền (Authentication/Authorization bypass)",
48 "Rủi ro Thực thi Mã Từ xa (Remote Code Execution - RCE)",
49 "Hỏng dữ liệu hoặc mất dữ liệu vĩnh viễn",
50 "Sập hệ thống, khóa chết (deadlocks) hoặc vòng lặp vô tận",
51 "Rò rỉ bộ nhớ và cạn kiệt tài nguyên",
52 "Triển khai mật mã học không an toàn",
53 "Thông tin bí mật hoặc thông tin xác thực bị gán cứng (hardcoded)"
54 ]
55 },
56 {
57 "category": "FUNCTIONAL",
58 "severity": "P1-P2",
59 "types": [
60 "Lỗi logic (biểu thức điều kiện sai, tính toán sai, lỗi lệch một đơn vị - off-by-one errors)",
61 "Các vấn đề quản lý trạng thái (điều kiện tranh chấp - race conditions, trạng thái cũ, biến đổi trạng thái không đúng cách)",
62 "Hợp đồng API hoặc ánh xạ yêu cầu/phản hồi không chính xác",
63 "Thiếu hoặc xác thực đầu vào chưa đủ",
64 "Logic nghiệp vụ bị hỏng hoặc vi phạm luồng công việc",
65 "Biến đổi dữ liệu hoặc tuần tự hóa (serialization) không chính xác",
66 "Không khớp kiểu dữ liệu hoặc ép kiểu không an toàn",
67 "Xử lý ngoại lệ hoặc lan truyền lỗi không chính xác"
68 ]
69 },
70 {
71 "category": "INTEGRATION",
72 "severity": "P2",
73 "types": [
74 "Sử dụng API bên ngoài không chính xác hoặc các điểm cuối đã lỗi thời",
75 "Lỗi truy vấn cơ sở dữ liệu, vấn đề cú pháp SQL hoặc lỗi truy vấn N+1",
76 "Lỗi xử lý hàng đợi tin nhắn (RabbitMQ, Kafka, SQS)",
77 "Lỗi thao tác hệ thống tệp (quyền truy cập, duyệt đường dẫn trái phép - path traversal)",
78 "Các vấn đề giao tiếp mạng (hết thời gian chờ - timeouts, thử lại, gom nhóm kết nối)",
79 "Sự không nhất quán hoặc vấn đề vô hiệu hóa bộ nhớ đệm (cache)",
80 "Sử dụng sai thư viện bên thứ ba hoặc xung đột không tương thích phiên bản"
81 ]
82 },
83 {
84 "category": "EDGE_CASES",
85 "severity": "P2-P3",
86 "types": [
87 "Tham chiếu ngược con trỏ Null/undefined/nil/None",
88 "Xử lý mảng/danh sách/tập hợp rỗng",
89 "Các trường hợp biên với giá trị bằng 0 hoặc số âm",
90 "Các điều kiện ranh giới (số nguyên tối đa/tối thiểu, giới hạn độ dài chuỗi)",
91 "Thiếu xử lý lỗi hoặc nuốt ngoại lệ (swallowed exceptions)",
92 "Lỗi logic hết thời gian chờ (timeout) và thử lại (retry)",
93 "Các vấn đề truy cập đồng thời mà không có cơ chế khóa thích hợp",
94 "Tràn số trên/tràn số dưới (overflow/underflow) trong các phép toán số học"
95 ]
96 },
97 {
98 "category": "CODE_QUALITY",
99 "severity": "P3-P4",
100 "types": [
101 "Sử dụng API đã ngừng hỗ trợ (deprecated)",
102 "Mã chết (dead code) hoặc các nhánh mã không thể chạm tới",
103 "Phụ thuộc vòng tròn (circular dependencies)",
104 "Các điểm nghẽn hiệu năng (thuật toán kém hiệu quả, thao tác dư thừa)",
105 "Thiếu hoặc chú thích kiểu dữ liệu (type annotations) không chính xác",
106 "Các mẫu xử lý lỗi không nhất quán",
107 "Rò rỉ tài nguyên (file handles, kết nối cơ sở dữ liệu, network sockets)",
108 "Ghi nhật ký không đúng cách (làm lộ dữ liệu nhạy cảm, thiếu ngữ cảnh)"
109 ]
110 }
111 ],
112 "discovery_methods": [
113 "Phân tích mã tĩnh bằng các công cụ đặc thù theo ngôn ngữ",
114 "Đối sánh mẫu cho các phản mẫu (anti-patterns) và mùi mã (code smells) phổ biến",
115 "Quét lỗ hổng trong các gói phụ thuộc (npm audit, pip-audit, bundle-audit, cargo audit)",
116 "Phân tích luồng điều khiển và luồng dữ liệu",
117 "Phát hiện mã chết (dead code)",
118 "Xác thực cấu hình đối chiếu với các phương pháp hay nhất",
119 "Xác minh chéo giữa tài liệu và phần triển khai thực tế",
120 "Rà soát mã nguồn tập trung vào bảo mật"
121 ]
122 },
123 {
124 "phase": 3,
125 "name": "Ghi Tài liệu & Sắp xếp Ưu tiên Lỗi",
126 "bug_report_schema": {
127 "bug_id": "Định danh tuần tự (BUG-001, BUG-002, v.v.)",
128 "severity": {
129 "type": "enum",
130 "values": [
131 "CRITICAL",
132 "HIGH",
133 "MEDIUM",
134 "LOW"
135 ],
136 "description": "Mức độ nghiêm trọng của lỗi"
137 },
138 "category": {
139 "type": "enum",
140 "values": [
141 "SECURITY",
142 "FUNCTIONAL",
143 "PERFORMANCE",
144 "INTEGRATION",
145 "CODE_QUALITY"
146 ],
147 "description": "Phân loại lỗi"
148 },
149 "location": {
150 "files": [
151 "Mảng chứa đường dẫn các tệp bị ảnh hưởng kèm theo số dòng"
152 ],
153 "component": "Tên Mô-đun/Dịch vụ/Tính năng",
154 "function": "Tên hàm hoặc phương thức cụ thể"
155 },
156 "description": {
157 "current_behavior": "Điều gì đang bị hỏng hoặc sai",
158 "expected_behavior": "Điều gì lẽ ra phải xảy ra",
159 "root_cause": "Giải thích kỹ thuật về nguyên nhân gây lỗi"
160 },
161 "impact_assessment": {
162 "user_impact": "Tác động lên người dùng cuối (mất dữ liệu, phơi nhiễm bảo mật, suy giảm trải nghiệm UX)",
163 "system_impact": "Tác động lên hệ thống (hiệu năng, tính ổn định, khả năng mở rộng)",
164 "business_impact": "Tác động lên doanh nghiệp (tuân thủ, doanh thu, danh tiếng, pháp lý)"
165 },
166 "reproduction": {
167 "steps": [
168 "Hướng dẫn từng bước để tái hiện lỗi"
169 ],
170 "test_data": "Dữ liệu mẫu hoặc điều kiện cần thiết",
171 "actual_result": "Điều gì xảy ra khi tái hiện lỗi",
172 "expected_result": "Điều gì lẽ ra phải xảy ra"
173 },
174 "verification": {
175 "code_snippet": "Đoạn mã minh họa cho thấy lỗi",
176 "test_case": "Ca kiểm thử sẽ thất bại do lỗi này",
177 "logs_or_metrics": "Bằng chứng từ nhật ký (logs) hoặc hệ thống giám sát"
178 },
179 "dependencies": {
180 "related_bugs": [
181 "Mảng chứa các BUG-ID có liên quan"
182 ],
183 "blocking_issues": [
184 "Mảng chứa các lỗi phải được sửa trước"
185 ],
186 "blocked_by": [
187 "Các yếu tố bên ngoài ngăn cản việc sửa lỗi"
188 ]
189 },
190 "metadata": {
191 "discovered_date": "Dấu thời gian chuẩn ISO 8601",
192 "discovered_by": "Công cụ hoặc phương pháp đã sử dụng",
193 "cve_id": "Mã định danh CVE, nếu có",
194 "cwe_id": "Mã định danh CWE, nếu có"
195 }
196 },
197 "prioritization_matrix": {
198 "criteria": [
199 {
200 "factor": "severity",
201 "weight": 0.4,
202 "scale": "CRITICAL=100, HIGH=70, MEDIUM=40, LOW=10"
203 },
204 {
205 "factor": "user_impact",
206 "weight": 0.3,
207 "scale": "Tất cả người dùng=100, Nhiều=70, Một số=40, Ít=10"
208 },
209 {
210 "factor": "fix_complexity",
211 "weight": 0.15,
212 "scale": "Đơn giản=100, Trung bình=60, Phức tạp=20"
213 },
214 {
215 "factor": "regression_risk",
216 "weight": 0.15,
217 "scale": "Thấp=100, Trung bình=60, Cao=20"
218 }
219 ],
220 "formula": "priority_score = Σ(factor_value × weight)"
221 }
222 },
223 {
224 "phase": 4,
225 "name": "Triển khai Sửa lỗi (Fix Implementation)",
226 "fix_workflow": [
227 {
228 "step": 1,
229 "action": "Tạo nhánh sửa lỗi độc lập",
230 "naming": "fix/BUG-{id}-{short-description}"
231 },
232 {
233 "step": 2,
234 "action": "Viết bài kiểm thử báo lỗi (failing test) TRƯỚC TIÊN",
235 "rationale": "Phát triển Hướng Kiểm thử (TDD) đảm bảo bản sửa lỗi có thể xác minh được"
236 },
237 {
238 "step": 3,
239 "action": "Triển khai bản sửa lỗi tối thiểu, tập trung đúng trọng tâm",
240 "principle": "Thay đổi nhỏ nhất giúp giải quyết chính xác vấn đề"
241 },
242 {
243 "step": 4,
244 "action": "Xác minh bài kiểm thử hiện đã vượt qua (pass)",
245 "validation": "Chạy bài kiểm thử cụ thể đó và bộ kiểm thử có liên quan"
246 },
247 {
248 "step": 5,
249 "action": "Chạy toàn bộ bộ kiểm thử hồi quy (regression test suite)",
250 "validation": "Đảm bảo không có chức năng hiện có nào bị hỏng"
251 },
252 {
253 "step": 6,
254 "action": "Cập nhật tài liệu",
255 "scope": "Tài liệu API, chú thích trực tiếp trong mã, nhật ký thay đổi (changelog)"
256 }
257 ],
258 "fix_principles": [
259 "MINIMAL_CHANGE: Thực hiện thay đổi nhỏ nhất giúp sửa đúng lỗi",
260 "NO_SCOPE_CREEP: Tránh tái cấu trúc (refactoring) hoặc thêm tính năng không liên quan",
261 "BACKWARDS_COMPATIBLE: Bảo toàn các hợp đồng API hiện có trừ khi bản thân lỗi đó gây phá vỡ tương thích",
262 "FOLLOW_CONVENTIONS: Tuân thủ phong cách mã và các mẫu thiết kế hiện có của dự án",
263 "DEFENSIVE_PROGRAMMING: Thêm các điều kiện bảo vệ (guards) để ngăn chặn các lỗi tương tự trong tương lai",
264 "EXPLICIT_OVER_IMPLICIT: Làm rõ ý đồ thông qua cấu trúc mã và các chú thích",
265 "FAIL_FAST: Xác thực đầu vào sớm và báo lỗi ngay với thông báo lỗi rõ ràng"
266 ],
267 "code_review_checklist": [
268 "Bản sửa lỗi giải quyết nguyên nhân gốc rễ, chứ không chỉ phần triệu chứng",
269 "Tất cả các trường hợp biên đều được xử lý đúng cách",
270 "Thông báo lỗi rõ ràng, có tính hành động và không làm lộ thông tin nhạy cảm",
271 "Tác động hiệu năng ở mức chấp nhận được (không dùng O(n²) ở nơi chỉ cần O(n))",
272 "Các hệ quả về bảo mật đã được xem xét kỹ lưỡng",
273 "Không phát sinh cảnh báo biên dịch mới hoặc lỗi kiểm tra quy tắc mã (linting errors)",
274 "Các thay đổi đều được bao phủ bởi các bài kiểm thử",
275 "Tài liệu được cập nhật và chính xác",
276 "Các thay đổi gây lỗi tương thích (breaking changes) được đánh dấu rõ ràng và có lý giải hợp lý",
277 "Các gói phụ thuộc được cập nhật và bảo mật"
278 ]
279 },
280 {
281 "phase": 5,
282 "name": "Kiểm thử & Xác thực",
283 "test_requirements": {
284 "mandatory_tests_per_fix": [
285 {
286 "type": "unit_test",
287 "description": "Bài kiểm thử cô lập cho bản sửa lỗi cụ thể",
288 "coverage": "Phải bao phủ chính xác nhánh mã đã bị hỏng"
289 },
290 {
291 "type": "integration_test",
292 "description": "Kiểm thử nếu lỗi liên quan đến nhiều thành phần",
293 "coverage": "Luồng đầu-cuối (end-to-end) đi qua các hệ thống bị ảnh hưởng"
294 },
295 {
296 "type": "regression_test",
297 "description": "Đảm bảo bản sửa lỗi không làm hỏng chức năng hiện có",
298 "coverage": "Tất cả các tính năng và nhánh mã có liên quan"
299 },
300 {
301 "type": "edge_case_tests",
302 "description": "Bao phủ các điều kiện biên và trường hợp góc (corner cases)",
303 "coverage": "Giá trị null, đầu vào rỗng, các giới hạn, điều kiện lỗi"
304 }
305 ]
306 },
307 "test_structure_template": {
308 "description": "Cấu trúc kiểm thử độc lập với ngôn ngữ lập trình",
309 "template": [
310 "describe('BUG-{ID}: {description}', () => {",
311 " test('reproduces original bug', () => {",
312 " // Bài kiểm thử này chứng minh lỗi đã tồn tại",
313 " // Phải thất bại trước khi sửa, vượt qua sau khi sửa",
314 " });",
315 "",
316 " test('verifies fix resolves issue', () => {",
317 " // Bài kiểm thử này chứng minh hành vi đúng sau khi sửa",
318 " });",
319 "",
320 " test('handles edge case: {case}', () => {",
321 " // Độ bao phủ bổ sung cho các kịch bản liên quan",
322 " });",
323 "});"
324 ]
325 },
326 "validation_steps": [
327 {
328 "step": "Chạy toàn bộ bộ kiểm thử",
329 "commands": {
330 "javascript": "npm test",
331 "python": "pytest",
332 "go": "go test ./...",
333 "java": "mvn test",
334 "ruby": "bundle exec rspec",
335 "rust": "cargo test",
336 "php": "phpunit"
337 }
338 },
339 {
340 "step": "Đo lường độ bao phủ mã nguồn (code coverage)",
341 "tools": [
342 "Istanbul/NYC",
343 "Coverage.py",
344 "JaCoCo",
345 "SimpleCov",
346 "Tarpaulin"
347 ]
348 },
349 {
350 "step": "Chạy phân tích tĩnh",
351 "tools": [
352 "ESLint",
353 "Pylint",
354 "golangci-lint",
355 "SpotBugs",
356 "Clippy"
357 ]
358 },
359 {
360 "step": "Đo kiểm chuẩn hiệu năng (Performance benchmarking)",
361 "condition": "Nếu bản sửa lỗi ảnh hưởng đến các luồng chạy nóng (hot paths) hoặc các thao tác quan trọng"
362 },
363 {
364 "step": "Quét bảo mật",
365 "tools": [
366 "Snyk",
367 "OWASP Dependency-Check",
368 "Trivy",
369 "Bandit"
370 ]
371 }
372 ]
373 },
374 {
375 "phase": 6,
376 "name": "Tài liệu hóa & Báo cáo",
377 "fix_documentation_requirements": [
378 "Cập nhật các chú thích trực tiếp trong mã giải thích bản sửa lỗi và lý do tại sao nó cần thiết",
379 "Sửa đổi tài liệu API nếu hành vi thay đổi",
380 "Cập nhật CHANGELOG.md với mục ghi nhận bản sửa lỗi",
381 "Tạo hoặc cập nhật hướng dẫn khắc phục sự cố (troubleshooting guides)",
382 "Ghi tài liệu bất kỳ giải pháp tạm thời (workarounds) nào cho các vấn đề bị hoãn/chưa được sửa",
383 "Thêm ghi chú di trú (migration notes) nếu bản sửa lỗi yêu cầu hành động từ phía người dùng"
384 ],
385 "executive_summary_template": {
386 "title": "Báo cáo Sửa lỗi - {repository_name}",
387 "metadata": {
388 "date": "Ngày chuẩn ISO 8601",
389 "analyzer": "Tên Công cụ/Người thực hiện",
390 "repository": "Đường dẫn kho lưu trữ đầy đủ",
391 "commit_hash": "Mã băm SHA của Git commit",
392 "duration": "Thời lượng phân tích tính bằng giờ"
393 },
394 "overview": {
395 "total_bugs_found": "số nguyên",
396 "total_bugs_fixed": "số nguyên",
397 "bugs_deferred": "số nguyên",
398 "test_coverage_before": "tỷ lệ phần trăm",
399 "test_coverage_after": "tỷ lệ phần trăm",
400 "files_analyzed": "số nguyên",
401 "lines_of_code": "số nguyên"
402 },
403 "critical_findings": [
404 "Top 3-5 lỗi nghiêm trọng nhất được tìm thấy và bản sửa của chúng"
405 ],
406 "fix_summary_by_category": {
407 "security": "số lượng",
408 "functional": "số lượng",
409 "performance": "số lượng",
410 "integration": "số lượng",
411 "code_quality": "số lượng"
412 },
413 "detailed_fix_table": {
414 "columns": [
415 "BUG-ID",
416 "File",
417 "Line",
418 "Category",
419 "Severity",
420 "Description",
421 "Status",
422 "Test Added"
423 ],
424 "format": "Bảng Markdown hoặc CSV"
425 },
426 "risk_assessment": {
427 "remaining_high_priority": [
428 "Danh sách các vấn đề nghiêm trọng chưa được sửa"
429 ],
430 "recommended_next_steps": [
431 "Các hạng mục hành động theo thứ tự ưu tiên"
432 ],
433 "technical_debt": [
434 "Tóm tắt nợ kỹ thuật đã xác định"
435 ],
436 "breaking_changes": [
437 "Bất kỳ bản sửa lỗi nào không tương thích ngược"
438 ]
439 },
440 "testing_results": {
441 "test_command": "Lệnh chính xác đã dùng để chạy kiểm thử",
442 "tests_passed": "X trên tổng số Y",
443 "tests_failed": "số lượng kèm theo lý do",
444 "tests_added": "số lượng",
445 "coverage_delta": "+X% hoặc -X%"
446 }
447 },
448 "deliverables_checklist": [
449 "Tất cả các lỗi đều được ghi tài liệu theo định dạng chuẩn hóa",
450 "Các bản sửa lỗi được triển khai với phạm vi tối thiểu",
451 "Bộ kiểm thử được cập nhật và vượt qua toàn bộ",
452 "Tài liệu được cập nhật (mã nguồn, API, hướng dẫn người dùng)",
453 "Rà soát mã nguồn (code review) đã hoàn tất và được phê duyệt",
454 "Tác động hiệu năng đã được đánh giá và ở mức chấp nhận được",
455 "Đánh giá bảo mật đã được tiến hành đối với các bản sửa lỗi liên quan đến bảo mật",
456 "Ghi chú triển khai và kế hoạch hoàn tác (rollback plan) đã được chuẩn bị",
457 "Nhật ký thay đổi (Changelog) được cập nhật với các thay đổi hướng tới người dùng",
458 "Các bên liên quan đã được thông báo về các bản sửa lỗi nghiêm trọng"
459 ]
460 },
461 {
462 "phase": 7,
463 "name": "Cải tiến Liên tục",
464 "pattern_analysis": {
465 "objectives": [
466 "Xác định các mẫu lỗi lặp đi lặp lại trên toàn bộ mã nguồn",
467 "Phát hiện các vấn đề kiến trúc tạo điều kiện cho lỗi phát sinh",
468 "Tìm ra các khoảng trống trong chiến lược kiểm thử",
469 "Làm nổi bật các khu vực có nợ kỹ thuật"
470 ],
471 "outputs": [
472 "Báo cáo các mẫu lỗi phổ biến",
473 "Khuyến nghị các biện pháp phòng ngừa",
474 "Đề xuất cải tiến bộ công cụ",
475 "Đề xuất tái cấu trúc kiến trúc"
476 ]
477 },
478 "monitoring_recommendations": {
479 "metrics_to_track": [
480 "Tốc độ phát hiện lỗi theo thời gian",
481 "Thời gian giải quyết lỗi theo mức độ nghiêm trọng",
482 "Tỷ lệ hồi quy (lỗi xuất hiện trở lại)",
483 "Tỷ lệ phần trăm độ bao phủ kiểm thử",
484 "Tần suất thay đổi mã (code churn) ở các khu vực dễ phát sinh lỗi",
485 "Số lượng lỗ hổng trong các gói phụ thuộc"
486 ],
487 "alerting_rules": [
488 "Các lỗ hổng bảo mật nghiêm trọng trong các gói phụ thuộc",
489 "Bộ kiểm thử thất bại",
490 "Độ bao phủ mã giảm xuống dưới ngưỡng quy định",
491 "Suy giảm hiệu năng ở các thao tác cốt lõi"
492 ],
493 "logging_improvements": [
494 "Thêm tính năng ghi nhật ký có cấu trúc (structured logging) ở những nơi còn thiếu",
495 "Bao gồm các ID tương quan (correlation IDs) để truy vết yêu cầu",
496 "Ghi nhật ký các sự kiện liên quan đến bảo mật",
497 "Đảm bảo nhật ký lỗi bao gồm dấu vết ngăn xếp (stack traces) và ngữ cảnh"
498 ]
499 }
500 }
501 ],
502 "constraints_and_best_practices": [
503 "KHÔNG BAO GIỜ thỏa hiệp về bảo mật để đổi lấy sự đơn giản hoặc tiện lợi",
504 "DUY TRÌ dấu vết kiểm toán (audit trail) đầy đủ của tất cả các thay đổi",
505 "TUÂN THEO quy tắc đặt phiên bản ngữ nghĩa (semantic versioning) nếu các bản sửa lỗi làm thay đổi API công khai",
506 "TÔN TRỌNG giới hạn tốc độ truy cập (rate limits) khi kiểm thử các dịch vụ bên ngoài",
507 "SỬ DỤNG cờ tính năng (feature flags) cho các bản sửa lỗi có rủi ro cao hoặc triển khai dần dần",
508 "GHI TÀI LIỆU tất cả các giả định được đưa ra trong quá trình phân tích",
509 "CÂN NHẮC chiến lược hoàn tác (rollback) cho mọi bản sửa lỗi",
510 "ƯU TIÊN các bản sửa lỗi tương thích ngược khi có thể",
511 "TRÁNH đưa thêm các gói phụ thuộc mới vào mà không có lý do chính đáng",
512 "KIỂM THỬ trên nhiều môi trường khi có thể áp dụng"
513 ],
514 "output_formats": [
515 {
516 "format": "markdown",
517 "purpose": "Tài liệu và báo cáo dễ đọc cho con người",
518 "filename_pattern": "bug_report_{date}.md"
519 },
520 {
521 "format": "json",
522 "purpose": "Định dạng máy đọc được để xử lý tự động",
523 "filename_pattern": "bug_data_{date}.json",
524 "schema": "Tuân theo bug_report_schema được định nghĩa ở Giai đoạn 3"
525 },
526 {
527 "format": "csv",
528 "purpose": "Nhập vào các hệ thống theo dõi lỗi (Jira, GitHub Issues)",
529 "filename_pattern": "bugs_{date}.csv",
530 "columns": [
531 "BUG-ID",
532 "Severity",
533 "Category",
534 "File",
535 "Line",
536 "Description",
537 "Status"
538 ]
539 },
540 {
541 "format": "yaml",
542 "purpose": "Định dạng thân thiện với cấu hình để tích hợp CI/CD",
543 "filename_pattern": "bug_config_{date}.yaml"
544 }
545 ],
546 "special_considerations": {
547 "monorepos": "Phân tích từng gói/không gian làm việc riêng biệt kèm theo việc theo dõi phụ thuộc chéo giữa các gói",
548 "microservices": "Xem xét các hợp đồng liên dịch vụ, khả năng tương thích API và truy vết phân tán",
549 "legacy_code": "Cân bằng giữa rủi ro sửa lỗi và lợi ích mang lại; ưu tiên các bản sửa lỗi có tác động cao nhưng rủi ro thấp",
550 "third_party_dependencies": "Báo cáo lỗ hổng lên dự án gốc (upstream); cân nhắc các phương án thay thế nếu không còn được duy trì",
551 "high_traffic_systems": "Cân nhắc các chiến lược triển khai (blue-green, canary) cho các bản sửa lỗi",
552 "regulated_industries": "Đảm bảo đáp ứng các yêu cầu tuân thủ (HIPAA, PCI-DSS, SOC2, GDPR)",
553 "open_source_projects": "Tuân theo nguyên tắc đóng góp; trao đổi với những người bảo trì dự án trước khi thực hiện các thay đổi lớn"
554 },
555 "success_criteria": {
556 "quantitative": [
557 "Tất cả các lỗi có mức độ nghiêm trọng CRITICAL và HIGH đều được giải quyết",
558 "Độ bao phủ kiểm thử tăng lên ít nhất X%",
559 "Không còn lỗ hổng bảo mật nào trong các gói phụ thuộc",
560 "Tất cả các bài kiểm thử đều vượt qua (passing)",
561 "Các chỉ số chất lượng mã nguồn được cải thiện (độ phức tạp chu trình, chỉ số khả năng bảo trì)"
562 ],
563 "qualitative": [
564 "Mã nguồn dễ bảo trì hơn",
565 "Tài liệu rõ ràng và toàn diện",
566 "Đội ngũ có thể tự tin triển khai các bản sửa lỗi",
567 "Các cơ chế ngăn ngừa lỗi trong tương lai đã được thiết lập",
568 "Tốc độ phát triển được cải thiện"
569 ]
570 }
571}

Bình luận (0)