5 Kĩ năng lập trình cho Junior

Bài viết liên quan

5 Kĩ năng lập trình cho junior để code gọn gàng

Chia sẻ đến các bạn Junior 5 kĩ năng khi lập trình để code của bạn luôn xanh sạch và đẹp. Bạn cũng biết kĩ năng lập trình không phải tự nhiên mà có, cũng không phải đọc lý thuyết rồi nó sẽ lú ra cho bạn :smile: mà bạn phải code thật nhiều, thực hành miệt mài mới góp nhặt được kinh nghiệm khi code và làm nền tảng phát triển khả năng lập trình thần thánh. Dưới đây là những điều rất cơ bản mà mình thấy nhiều bạn Junior mắc phải phải.

1. Return đúng nơi – Else đúng chỗ

Mình thấy khá nhiều bạn vẫn chưa nhận ra vấn đề này khi code, mặc dù đã return trong if nhưng các bạn vẫn else làm cho code trở nên dài dòng và rối.

$big = 100;

// incorrect
if ($big > 100) {
    return 'big';
} else {
    return 'small';
}

// correct
if ($big > 100) {
    return 'big';
}

return 'small';

Bạn đã nhìn ra vấn đề chưa, khi gặp lệnh return thì code sẽ không chạy nữa cho nên chúng ta không cần phải else làm gì mà code thẳng vào bên dưới nhìn sẽ gọn gàng tóc tai hơn.

2. Bổ luống cho code để cùng nhau đẹp trai

Trong quá trình đi làm mình nhận ra rằng code mình quá dơ =)) và mình không tìm được những bài viết nói làm sao để code xanh sạch đẹp, cuối cùng anh Leader đã tới cho mình vài nét cơ bản khi mình còn đang thực tập lập trình web PHP. Đây là những gì mình biết, mình nghĩ nó hợp lý với mình còn nếu bạn không thích hoặc ngôn ngữ lập trình của bạn không cho phép thì xem như đây là đoạn tham khảo nhé :smile:

// incorrect
public function setProduct($product) {
    $product['id'] = 1;
    $product['name'] = 'Tiến Lê';
    $product['type'] = 'TienLeIT.Com';
    $product['created_at'] = 'Thứ 6 ngày 12';
}

// correct
public function setProduct($product) {
    $product['id']         = 1;
    $product['name']       = 'Tiến Lê';
    $product['type']       = 'TienLeIT.Com';
    $product['created_at'] = 'Thứ 6 ngày 12';
}

Với vài dòng ngắn ngủi vậy có lẽ bạn chưa thấy sự lợi hại của nó đâu, khi vào project vài ngàn dòng code bạn sẽ thấy code của bạn thật tươm tất, cảm thấy lập trình viên cũng là một nghệ sĩ. :smile:

3. Tên function như thế nào là hợp lý?

Vô tình mình lướt mấy fanpage lập trình trên facebook mình thấy có một cuộc khảo sát về cách đặt tên function trong lập trình như thế này, đây là các option mà bạn ấy nói về function bạn ấy đặt cho việc lấy ra danh sách sản phẩm: getProducts, getAllProducts, products, productList, …

Theo các bạn thì cái nào đúng và bạn đang đặt tên function theo kiểu nào, mình sẽ lưu ý vài nét cơ bản về việc đặt tên function sao cho đúng trong lập trình web cũng như ứng dụng nhé:

  • Tên function phải đặt thành động từ, không phải danh từ: getProducts, listProducts chứ productsList là sai rồi nhé.
  • Trong OOP thì không cần thêm hậu tố phía sau: function khai báo trong class Product thì nên đặt là getAll, findAll.
  • Tên hàm phải nói lên được chức năng mà nó làm một cách vắn tắt để người khác nhìn vào có thể hiểu.
// incorrect
class User()
{
        public function getUsers() {
            return 'This is get users function';
        }

        public function userList() {
            return 'This is get users function';
        }
}
// correct
class User() 
{
        public function getAll() {
            return 'This is get users function';
        }

        public function getById($id) {
            return 'This is get user function by id';
        } 
}

4. Kiểm tra trước khi moi móc dữ liệu

Trong 5 kĩ năng khi lập trình thì kiểm tra empty, tồn tại là vấn đề mà mình ăn chữi thường xuyên những ngày còn thực tập ở công ty. Mình chẳng thể nào nhớ được vấn đề này vì trong đầu luôn code trong trường hợp lý tưởng, tức là có đầy đủ dữ liệu chỉ việc show nó ra. Nhưng không đơn giản là vậy, một ngày đẹp trời thằng admin nó xóa mẹ hết records trong database, thế là móc không ra được khỉ gì nhưng vẫn chỉ trỏ, get theo index của array các thứ, thế là bug đập thẳng vào mặt anh PM.

Lời khuyên cho các bạn là trước khi muốn trỏ đến property của object hay lấy index của array thì hãy kiểm tra nó có empty hay không, có tồn tại hay không và cố gắng đừng code trong trường hợp lý tưởng giống mình :smile:

class User 
{
    //incorrect
    public funciton getById($id) {
        $user = UserModel::find($id);

        return $user->first_name; //hoặc return $user['first_name'];
    }

    //correct
    public function getById($id) {
        $user = UserModel::find($id);

        // Với data là array
        if (!empty($user)) {
            return $user;
        }

        // Hoặc
        if (!empty($user) && isset($user['first_name']) {
            return $user['first_name'];
        }

        //Hoặc 
        if ($user && $user->first_name) {
            return $user->first_name;
        }
    }
}

5. Sử dụng English khi lập trình

English luôn là vấn đề nhức nhối trong giới IT chúng ta, không riêng gì các bạn mà mình cũng vậy thôi, cũng là một thằng ngáo lá đu đủ khi nói về English. Đây là mục cuối trong bài viết nói về những kĩ năng khi lập trình dành cho Junior và Fresher nên mình sẽ nói về English trong lập trình.

Các bạn hãy cố gắng code, comment, đặt tên function, tên biến hay bất cứ việc gì luôn bằng tiếng Anh để đỡ phải bỡ ngỡ khi lao vào project với những anh leader, PM, … vì họ toàn chat với nhau bằng tiếng Anh và cũng không ai khuyến khích hay “thích” bạn làm việc bằng tiếng Việt. Tiến Lê đã trải qua việc này nên mình hiểu nhưng hẹn các bạn dịp khác sẽ đâm sâu, à không đi sâu vào vấn đề này.

Lời kết

Kết thúc bài này mình hi vọng các bạn biết thêm được một ít kiến thức về clean code, làm sao cho code gọn gàng hơn để người khác có thể thích thú khi đọc code.

Nguồn bài viết từ: 5 kĩ năng cho Junior khi lập trình để code xanh và sạch

Registration Login
Sign in with social account
or
Lost your Password?
Registration Login
Sign in with social account
or
A password will be send on your post
Registration Login
Registration