Thứ Ba, 18 tháng 11, 2008

code PHP ngắn thôi nhé!

trước nay hoangnd mới chỉ quen lập trình với các ngôn ngữ strongly-typed language như C#, Java, C/C++ (không tính javascript :P ). Sau trận benmark PHP với đại ca Ngọc (hiz hiz, thảm bại mất chầu bia :(( ) thì đã đầu tư một chút vào các dynamic language (PHP, Python).

PHP quả là linh động và thú vị, các đồng nghiệp ở BIT đang viết code khá nhanh và dễ dang. Thế nhưng, khi mà các bạn đang nghe đại ca Ngọc đang phàn nàn nhiều về việc viết comment trong quá trình code :P thì sao không thư giãn bằng cách viết code ngắn gọn hơn :).

ví dụ 1
// A lot of code
$status = fwrite($h, 'some text');
if (!
$status) {
log('Writing failed');
}


// Less code
${0} = fwrite($h, 'some text');
if (!${
0}) log('Writing failed');

// Even less code
fwrite($h, 'some text') or log('Writing failed');

ví dụ 2
// A lot of code
if ($age < 16) {
$message = 'Welcome!';
} else {
$message = 'You are too old!';
}


// Less code
$message = 'You are too old!';
if (
$age < 16) {
$message = 'Welcome!';
}


// Even less code
$message = ($age < 16) ? 'Welcome!' : 'You are too old!';

ví dụ 3
// A lot of code
$i = 0;
while (
$i < 100) {
$source[] = $target[$i];
$i += 2;
}


// less code
for ($i = 0; $i < 100; $source[] = $target[$i+=2]);

hi hi, trông hay chưa :P, sự thực là hầu hết các ngôn ngữ lập trình đều có khả năng viết code ngắn gọn như thế này. Thế nhưng, các đồng nghiệp sẽ có điều kiện thấy một ngôn ngữ mạnh mẽ hơn nhiều, đó là python :)

nhân đây các đồng nghiệp viết lại bài toán in ra các số từ 1 -> 20 với các điều kiện chia hết cho 3, 5, 15 đi :)

tham khảo:Arnold Daniels's blog

Không có nhận xét nào:

Đăng nhận xét