Giới thiệu về Makefile: Hướng dẫn dành cho người mới bắt đầu về tự động hóa xây dựng trong Python

By hientd, at: 09:55 Ngày 29 tháng 12 năm 2023

Thời gian đọc ước tính: __READING_TIME__ minutes

Introduction to Makefile: A Beginner's Guide to Build Automation in Python
Introduction to Makefile: A Beginner's Guide to Build Automation in Python

Tự động hóa là một phần quan trọng trong phát triển phần mềm hiện đại, giúp các nhà phát triển tiết kiệm thời gian và giảm lỗi. Các công cụ như các script bash hoặc nền tảng CI/CD được sử dụng rộng rãi, Makefile vẫn là một trong những cách hiệu quả và linh hoạt nhất để tự động hóa các tác vụ. Được thiết kế ban đầu cho các dự án C/C++, Makefile cũng mạnh mẽ không kém đối với các nhà phát triển Python. Hướng dẫn này giới thiệu Makefile và cách sử dụng nó trong các dự án Python.

 

Makefile là gì?

 

Makefile là một tập tin văn bản đơn giản định nghĩa các quy tắc để tự động hóa các tác vụ như xây dựng, kiểm thử và triển khai mã. Nó hoạt động với lệnh make, lệnh này đọc Makefile để thực thi các tác vụ một cách hiệu quả.

 

Tại sao sử dụng Makefile trong các dự án Python?

 

  • Tự động hóa: Giản lược các tác vụ lặp đi lặp lại như chạy kiểm thử hoặc định dạng mã.
     
  • Tính nhất quán: Cung cấp một cách chuẩn để các thành viên trong nhóm thực thi các tác vụ.
     
  • Khả năng di chuyển: Hoạt động trên các môi trường khác nhau mà không cần phụ thuộc nhiều.

 

Cấu trúc cơ bản của Makefile

 

Makefile bao gồm mục tiêu, phụ thuộclệnh:

 

target: dependencies
    command

 

  • Mục tiêu: Tên của tác vụ.
     
  • Phụ thuộc: Các tập tin hoặc mục tiêu mà mục tiêu hiện tại phụ thuộc vào.
     
  • Lệnh: Lệnh shell được thực thi khi mục tiêu chạy.

 

Lưu ý: Các lệnh phải được thụt lề bằng tab, không phải khoảng trắng.

 

Viết Makefile đầu tiên cho Python

 

Bước 1: Thiết lập dự án của bạn

 

Tạo cấu trúc dự án Python:

 

my_project/

├── Makefile
├── requirements.txt
├── src/
│   ├── app.py
│   └── utils.py
└── tests/
    ├── test_app.py
    └── test_utils.py

 

Bước 2: Tạo Makefile

 

Đây là một ví dụ Makefile:

 

# Định nghĩa biến
PYTHON = python3
PIP = pip3

# Cài đặt phụ thuộc
install:
    $(PIP) install -r requirements.txt

# Chạy kiểm thử
test:
    $(PYTHON) -m pytest tests/

# Định dạng mã sử dụng black
format:
    $(PYTHON) -m black src/ tests/

# Kiểm tra mã sử dụng flake8
lint:
    $(PYTHON) -m flake8 src/ tests/

# Dọn dẹp các tập tin tạm thời
clean:
    find . -name '__pycache__' -exec rm -rf {} +
    find . -name '*.pyc' -exec rm -f {} +

 

Bước 3: Chạy tác vụ với make
 

  • Cài đặt phụ thuộc: make install
     
  • Chạy kiểm thử: make test
     
  • Định dạng mã: make format
     
  • Kiểm tra mã: make lint
     
  • Dọn dẹp tập tin tạm thời: make clean

 

Giải thích Makefile

 

1. Biến

 

Các biến như PYTHONPIP làm cho Makefile dễ dàng thích ứng với các môi trường khác nhau.

 

2. Mục tiêu và Lệnh

 

Mỗi mục tiêu (ví dụ: install, test) tương ứng với một tác vụ, và lệnh được thực thi khi mục tiêu được gọi.

 

Khi nào sử dụng Makefile cho các dự án Python

 

  • Chạy các tác vụ lặp đi lặp lại như kiểm thử, định dạng và kiểm tra mã.
     
  • Tự động hóa thiết lập dự án cho các nhà phát triển mới.
     
  • Giản lược quy trình phát triển mà không cần dựa vào các công cụ phức tạp.

 

Kết luận

 

Makefile là một công cụ nhẹ nhưng MẠNH MẼ để tự động hóa các tác vụ trong các dự án Python. Bằng cách nắm vững những kiến thức cơ bản, bạn có thể giản lược quy trình làm việc, tiết kiệm thời gian và mang lại tính nhất quán cho quy trình phát triển của mình. 

 

Trong bài đăng tiếp theo, chúng ta sẽ tìm hiểu sâu hơn về các kỹ thuật Makefile nâng cao, khám phá các biến, mục tiêu ảo và các thực tiễn tốt nhất để đạt hiệu quả.

Tag list:
- Automate tests with Makefile
- Python project automation
- Makefile targets and commands
- Makefile examples for beginners
- Introduction to Makefile
- Reusable Makefile for Python
- Automating Python tasks with Makefile
- How to use Makefile
- Makefile for testing and linting
- Makefile vs shell scripts for automation
- Makefile basics explained
- Why use Makefile for Python
- Writing a Makefile in Python
- Python development best practices
- Simplify workflows with Makefile
- Clean Python projects using Makefile
- Build automation in Python
- Makefile tutorial for Python developers
- Beginner’s guide to Makefile
- Makefile for Python projects

Theo dõi

Theo dõi bản tin của chúng tôi và không bao giờ bỏ lỡ những tin tức mới nhất.