Hàm và thủ tục

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ự

  1. Định nghĩa hàm
  2. Tham số và đối số
  3. Giá trị trả về
  4. Phạm vi biến
  5. Đệ quy
  6. Hàm ẩn danh

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