Wednesday, April 27, 2011

Vì sao nên tổ chức C/C++ project thành nhiều source file?

Chúng ta thường nhận được lời khuyên nên chia source code thành nhiều file để làm việc hiệu quả hơn, Nhưng mục đích của việc làm đó là gì, liệu bạn đã hiểu hết chưa?
Để hiểu vì sao lại chia, chia như thế nào cho đúng, hiệu quả, trước hết chúng ta phải phân tích hoạt động của compler.
Hãy chắc chắn rằng bạn đã hiểu cơ bản về hoạt động của compiler trước khi xem phần tiếp theo nhé!

Okie! vậy việc chia source code thành nhiều file có 3 mục tiêu lớn như sau:
  •  Để các chương trình được gọn hơn, dẫn tới quản lý và debug dễ hơn. Không chỉ tách ra nhiều file, nhiều tổ chức còn qui định mỗi function trong một file không được vượt quá 200 dòng lệnh, điều này có ý nghĩa rất lớn trong việc thực hiện các Project lớn.
  • Compiler có thể biên dịch một lúc nhiều file do đó khi chia source code ra thành nhiều file thì ta có thể compiling các file ngắn song song với nhau sau đó linking chúng lại thay vì mất thời gian để compiling một file dài. Điều này giúp bạn tiết kiệm cả tấn thời gian khi build chương trình.
  • Khi bạn thay đổi một hàm trong một file *.c thì chỉ có file đó phải compiling lại thôi, các file khác không cần thiết phải recompiling. Việc bỏ qua recompiling các file không cần thiết sẽ giúp các bạn tiết kiệm được rất nhiều thời gian làm việc, đặc biệt với các project có nhiều source code.
Nhưng không phải compiler nào cũng có thể làm được những điều này, có một số comppiler khi bạn chia source code ra thành nhiều file thì nó vẫn compiling lại tất cả source code cho dù bạn chỉ thay đổi ở một file. Tôi khuyên bạn nên dùng code::block(stater) hoặc eclipse(expert) trên window, Xcode trên MAC và make gcc trên Linux.

Cám ơn bạn vì đã ghé thăm! Chúc buổi tối vui vẻ ^^

No comments:

Post a Comment