Vai trò
Hàm và thủ tục giúp chia một chương trình lớn thành các phần nhỏ có nhiệm vụ rõ ràng. Cách tổ chức này làm mã nguồn dễ đọc, dễ kiểm tra và thuận lợi cho tái sử dụng.
Ví dụ tổng quan
def greet(name):
print("Xin chao,", name)
greet("An")
program FunctionIntro;
procedure Greet(name: String);
begin
Writeln('Xin chao, ', name);
end;
begin
Greet('An');
end.
#include <stdio.h>
void greet(const char name[]) {
printf("Xin chao, %s\n", name);
}
int main(void) {
greet("An");
return 0;
}
#include <iostream>
#include <string>
using namespace std;
void greet(const string& name) {
cout << "Xin chao, " << name << endl;
}
int main() {
greet("An");
return 0;
}
void Greet(string name) {
Console.WriteLine($"Xin chao, {name}");
}
Greet("An");
function greet(name) {
console.log(`Xin chao, ${name}`);
}
greet("An");
function greet(name: string): void {
console.log(`Xin chao, ${name}`);
}
greet("An");
package main
import "fmt"
func greet(name string) {
fmt.Printf("Xin chao, %s\n", name)
}
func main() {
greet("An")
}
fn greet(name: &str) {
println!("Xin chao, {}", name);
}
fn main() {
greet("An");
}
Lợi ích
- Tách bài toán lớn thành các bước nhỏ.
- Tránh lặp lại cùng một đoạn mã ở nhiều nơi.
- Dễ kiểm thử từng phần độc lập.
Nên học theo thứ tự
Xem thêm
- Lập trình hướng đối tượng — Phương thức lớp là hàm gắn với đối tượng; nắm vững hàm giúp học OOP tự nhiên hơn.
- Tổ chức mã nguồn — Hàm và lớp thường được gom vào module để tái sử dụng giữa các tệp.
- Thuật toán — Mọi thuật toán đều được hiện thực hoá dưới dạng hàm; viết hàm tốt giúp cài đặt sạch hơn.
Bình luận