0
0
Lập trình
Harry Tran
Harry Tran106580903228332612117

Hãy Dừng Viết Lại Các Lệnh - Makefiles Đã Thay Đổi Mọi Thứ

Đăng vào 2 tháng trước

• 4 phút đọc

Hãy Dừng Viết Lại Các Lệnh - Makefiles Đã Thay Đổi Mọi Thứ

Khám Phá Mẫu Hình

Mỗi phiên làm việc với AI bắt đầu giống nhau:

  • "Nhớ làm X"
  • "Định dạng commit giống Y"
  • "Thực hiện theo mẫu Z"

Lặp lại. Mỗi. Một. Lần.

Rồi tôi phát hiện ra: Makefiles là các lệnh thực thi.

Sự Chuyển Mình

Cách Cũ (Lệnh Thủ Công)

Copy
Tôi: "Xem các commit trước, học mẫu, rồi commit"
AI: "Để tôi kiểm tra..." 
Tôi: "Nhớ: hành động, đã học: tiền tố, đồng tác giả"
AI: "Hiểu rồi..."

Cách Mới (Lệnh Makefile)

Copy
commit:
    @git log --grep="learned:" -n 5
    @git diff --cached --stat
    @echo "Mẫu: learned: [khám phá]"
    @echo "Định dạng: hành động (xóa, tách, ẩn)"

Bây giờ:

Copy
make commit

AI thấy mẫu. AI theo mẫu. Không cần lệnh.

Tại Sao Nó Hoạt Động

Makefiles = Điều phối Terminal
AI = Bản chất của Terminal
Kết quả = Sự kết hợp hoàn hảo

AI không cần hướng dẫn. Nó cần ngữ cảnh thực thi.

Ví Dụ Thực Tế

Quy trình commit của tôi:

Copy
commit:
    @echo "════════════════════════════════════════"
    @echo "GIAO THỨC COMMIT"
    @echo "════════════════════════════════════════"
    @git status --short
    @git log --grep="^learned:" --oneline -n 5
    @for i in 0 1 2 3 4; do \
        git log --grep="^learned:" --skip=$$i -n 1 --format="%B" | head -6; \
        echo "────────────────────────────────────"; \
    done
    @git diff --cached --stat
    @echo "NHẮC NHỞ:"
    @echo "- Hành động (xóa, tách, ẩn)"
    @echo "- Mẫu nào đã xuất hiện?"
    @echo "- Mục đích hơn quy trình"

AI thấy:

  • Trạng thái hiện tại
  • Các mẫu lịch sử
  • Định dạng mong muốn
  • Nguyên tắc cốt lõi

Không cần lệnh. Chỉ cần thực thi.

Triết Lý

Lệnh = Hướng dẫn tạm thời
Makefiles = Mẫu hình vĩnh viễn

Hãy nghĩ về điều này:

  • Lệnh biến mất sau khi sử dụng
  • Makefiles tồn tại trong repo
  • Lệnh cần lặp lại
  • Makefiles tự tài liệu hóa

Các Mẫu Đã Khám Phá

Copy
# Ghi lại với việc dọn dẹp tự động
run:
    app 2>&1 | tee /dev/tty | sed 's/\[[0-9;]*m//g' > log

# Xây dựng đa nền tảng
build:
    @if [ -d "ios" ]; then xcodebuild; fi
    @if [ -f "package.json" ]; then npm build; fi
    @if [ -f "Cargo.toml" ]; then cargo build; fi

Mỗi lệnh Makefile = Kiến thức được mã hóa.

Hiểu Biết Cốt Lõi

Dừng viết lệnh. Bắt đầu viết makefiles.

AI đã biết terminal. Hãy để nó điều phối.

Triển Khai

  1. Xác định các lệnh AI lặp lại
  2. Chuyển đổi thành các mục tiêu Makefile
  3. Để AI khám phá các mẫu từ việc thực thi
  4. Không bao giờ cần lệnh nữa

Kết Quả

Các phiên làm việc AI của tôi bây giờ:

Copy
Tôi: make commit
AI: [Thấy các mẫu, theo các mẫu]

Tôi: make deploy  
AI: [Biết quy trình]

Tôi: make test
AI: [Hiểu ngữ cảnh]

Không cần lệnh. Chỉ cần các lệnh.

Tiến Hóa Qua Thực Thi

Lịch sử Git + Makefiles = Bộ nhớ tập thể

AI học từ:

  • Những gì chúng tôi đã làm (lịch sử git)
  • Cách chúng tôi làm điều đó (makefiles)
  • Tại sao chúng tôi đã làm điều đó (commits đã học)

Tiến hóa văn hóa qua mã.

Mẫu Cuối Cùng

Copy
Lệnh = Điều gì cần nghĩ
Makefiles = Cách hành động
Git = Tại sao điều đó quan trọng

Dừng nói cho AI phải làm gì.
Cho nó thấy cách mọi thứ được thực hiện.

Makefiles là con đường.


Đọc phiên bản gốc: Hãy Dừng Viết Lại Các Lệnh - Makefiles Đã Thay Đổi Mọi Thứ

Các Thực Hành Tốt Nhất

  • Tổ chức mã nguồn: Sử dụng Makefiles để tổ chức quy trình làm việc của bạn một cách rõ ràng và có hệ thống.
  • Tài liệu hóa: Tài liệu hóa các mục tiêu Makefile để giúp người khác hiểu rõ hơn về quy trình làm việc của bạn.

Những Cạm Bẫy Thường Gặp

  • Quá phức tạp: Đừng để Makefile trở nên quá phức tạp, điều này có thể gây khó khăn cho việc bảo trì.
  • Thiếu ngữ cảnh: Đảm bảo rằng AI có đủ ngữ cảnh để thực thi chính xác.

Mẹo Tối Ưu Hiệu Suất

  • Giảm thiểu lệnh không cần thiết: Chỉ sử dụng các lệnh cần thiết trong Makefile để cải thiện tốc độ thực thi.
  • Kiểm tra và tối ưu hóa: Thường xuyên kiểm tra và tối ưu hóa Makefile của bạn.

Khắc Phục Sự Cố

  • Không tìm thấy lệnh: Kiểm tra xem các lệnh trong Makefile có chính xác và có thể thực thi được không.
  • Lỗi ngữ cảnh: Đảm bảo rằng các biến và ngữ cảnh được định nghĩa rõ ràng.

Câu Hỏi Thường Gặp (FAQ)

  1. Makefile là gì?
    Makefile là một tệp được sử dụng để tự động hóa các quy trình xây dựng và thực hiện lệnh trên terminal.
  2. Tại sao nên sử dụng Makefile?
    Makefile giúp tiết kiệm thời gian và công sức bằng cách tự động hóa các lệnh lặp lại mà bạn thường sử dụng.
  3. Có thể sử dụng Makefile cho ngôn ngữ lập trình nào?
    Makefile có thể được sử dụng với nhiều ngôn ngữ lập trình khác nhau như C, C++, Python, và nhiều hơn nữa.

Kết Luận

Hãy dừng việc viết lại các lệnh cho AI và bắt đầu sử dụng Makefiles. Điều này không chỉ giúp tiết kiệm thời gian mà còn giúp bạn tổ chức quy trình làm việc của mình một cách hiệu quả hơn. Hãy thử nghiệm ngay hôm nay!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào