-
Notifications
You must be signed in to change notification settings - Fork 1
Home
DevPulse là một công cụ phân tích mã nguồn (static code analysis tool) được thiết kế để giúp lập trình viên hiểu, đánh giá và cải thiện chất lượng code trong một dự án phần mềm.
DevPulse hoạt động bằng cách quét toàn bộ codebase, thu thập thông tin về cấu trúc dự án, file, ngôn ngữ lập trình và các chỉ số chất lượng code. Công cụ này cung cấp các insight nhanh chóng về trạng thái của project thông qua giao diện dòng lệnh (CLI).
DevPulse hướng đến việc trở thành một lightweight developer productivity tool có thể chạy ngay lập tức mà không cần cấu hình phức tạp.
Sứ mệnh của DevPulse là:
-
Giúp lập trình viên hiểu codebase nhanh chóng
-
Phát hiện các vấn đề về chất lượng code
-
Cung cấp thống kê và insight về project
-
Tăng hiệu suất làm việc của developer
DevPulse được xây dựng với triết lý:
Simple. Fast. Insightful.
DevPulse hướng đến các mục tiêu sau:
DevPulse giúp developer nhanh chóng hiểu cấu trúc dự án bằng cách:
-
Phân tích số lượng file
-
Phân loại ngôn ngữ lập trình
-
Phân tích cấu trúc thư mục
DevPulse phát hiện các vấn đề phổ biến trong code như:
-
File quá lớn
-
Code nesting quá sâu
-
TODO comments chưa xử lý
-
Function hoặc class quá dài
DevPulse giúp developer:
-
hiểu project nhanh hơn
-
giảm thời gian onboarding
-
phát hiện vấn đề code sớm
DevPulse được thiết kế theo kiến trúc module đơn giản và dễ mở rộng.
devpulse/
│
├── cli.py
├── scanner.py
├── analyzer.py
├── utils.py
└── dashboard.py
Mỗi module đảm nhận một vai trò riêng.
File:
cli.py
Đây là entry point của DevPulse.
CLI chịu trách nhiệm:
-
nhận command từ người dùng
-
gọi các module scan và analyze
-
hiển thị kết quả
Ví dụ command:
devpulse scan .
File:
scanner.py
Scanner chịu trách nhiệm:
-
duyệt toàn bộ project directory
-
tìm tất cả file source code
-
thu thập metadata của file
Scanner sử dụng thuật toán recursive directory traversal.
Pseudo algorithm:
for each folder in project:
list files
if file extension matches supported language:
add to scan list
File:
analyzer.py
Analyzer thực hiện việc phân tích code.
Các bước phân tích:
-
đọc nội dung file
-
đếm số dòng code
-
phát hiện TODO
-
kiểm tra độ sâu nesting
-
thống kê function và class
Pseudo algorithm:
open file
read lines
for each line:
count lines
detect TODO
detect indentation level
File:
utils.py
Module này chứa các helper function:
-
detect_language()
-
count_todos()
-
file_metrics()
Ví dụ:
detect_language("file.py") -> Python
detect_language("file.js") -> JavaScript
DevPulse sử dụng nhiều thuật toán đơn giản nhưng hiệu quả để phân tích code.
Mục tiêu:
phát hiện file quá lớn.
Thuật toán:
if line_count > threshold:
mark as large file
Threshold mặc định:
500 lines
DevPulse kiểm tra độ sâu của indentation.
Ví dụ code:
if a:
if b:
if c:
if d:
Thuật toán:
track indentation level
record max depth
Nếu vượt quá ngưỡng:
depth > 4
DevPulse sẽ cảnh báo.
DevPulse phát hiện các comment chứa TODO.
Thuật toán:
for line in file:
if "TODO" in line:
record todo
DevPulse xác định ngôn ngữ lập trình dựa trên extension.
Ví dụ:
.py -> Python
.js -> JavaScript
.ts -> TypeScript
.java -> Java
.cpp -> C++
DevPulse được sử dụng thông qua CLI.
Sau khi cài từ Python Package Index:
pip install devpulse-tool
Quét toàn bộ project:
devpulse scan .
Output ví dụ:
DevPulse Scan Report
Files scanned: 42
Languages detected: Python, JavaScript
Large files: 3
TODOs found: 12
Max nesting depth: 5
devpulse scan src/
DevPulse cung cấp các metrics sau:
DevPulse hỗ trợ nhiều ngôn ngữ phổ biến:
-
Python
-
JavaScript
-
TypeScript
-
Java
-
C++
-
Go
-
Rust
Danh sách này có thể mở rộng trong các phiên bản sau.
Các tính năng dự kiến:
-
cyclomatic complexity
-
function complexity score
DevPulse sẽ tạo báo cáo dạng:
devpulse-report.html
Phân tích code bằng AI để gợi ý:
-
refactor
-
clean code improvements
Một hệ thống chấm điểm project:
Project Health Score: 87/100
DevPulse là dự án open-source.
Bạn có thể đóng góp bằng cách:
-
mở issue
-
gửi pull request
-
đề xuất tính năng mới
Repository:
https://github.com/manucian-official/devpulse
DevPulse được phát hành dưới giấy phép MIT License.
Project được duy trì bởi:
Manucian Official
DevPulse được xây dựng dựa trên triết lý:
Tools should help developers understand code, not complicate it.
Mục tiêu của DevPulse là trở thành một tool phân tích code đơn giản, nhanh và hữu ích cho mọi developer.