Hàm tạo thuận lợi cho việc viết chương trình, chúng ta có thể nói rằng gần như không thể viết một chương trình lớn, phức tạp mà không sử dụng các hàm. Ngay cả khi thành công thì đó cũng không phải là phần mềm tốt vì nhiều lý do.
Các hàm thư viện là những hàm đầu tiên mà một lập trình viên sử dụng, nhưng rõ ràng là chúng không bao giờ đủ để giải quyết các vấn đề phức tạp. Đây là thời điểm mà các lập trình viên quyết định viết các hàm của chính mình.
Hàm cho phép các lập trình viên phân chia code thành các phần nhỏ hơn. Một mã code nhỏ hơn thì sẽ dễ viết hơn, dễ kiểm tra (test) hơn, dễ hiểu và dễ bảo trì hơn.Khí có một bộ các hàm được viết và test kỹ lưỡng thì lập trình viên sẽ có thể xây dựng mã code theo cách tương tự như việc xây dựng nhà: sử dụng các khối sẵn sàng. Phương pháp phân chia như vậy được gọi là phân rã – decomposition
Về cơ bản, có hai cách tiếp cận có thể sử dụng trong quá trình decomposition:- cách tiếp cận từ trên xuống (top-down) : đầu tiên là đưa ra các hàm lớn và sau đó chia chúng thành các phương thức đơn giản hơn và chuyên biệt hơn
- cách tiếp cận từ dưới lên (bottom-up): tạo ra một bộ các hàm được xác định trong phạm vi hẹp và có độ chuyên biệt cao, và sau đó lắp ráp chúng vào các cấu trúc phức tạp hơn
Các lập trình viên có kinh nghiệm biết rằng tạo ra các hàm luôn luôn là một ý tưởng tốt ngay cả khi hàm mới được gọi chỉ một lần trong quá trình thực hiện của chương trình. Nếu mã bạn vừa viết quá dài để vừa trên một màn hình, hãy cân nhắc chia nó thành các hàm. Thật dễ dàng để kiểm soát các hàm nhỏ hơn là đoạn code lớn mà bạn không thể nhìn thấy trong nháy mắt