[Tham khảo] Nên viết code ngắn hay dài

Discussion in 'Phát triển Phần mềm' started by BanhXe0_, Mar 14, 2019.

  1. BanhXe0_

    BanhXe0_ New Member

    Last Updated 14-03-2019 at 09:25
    Hi các bác, tự nhiên hôm này đọc dc bài này
    Tóm lại nếu cùng ra 1 kết quả thì giữa 150 dòng code if else đơn giản dễ đọc VS 20 dòng code ngắn gọn, cực kì xúc tích nhưng ko phải ai đọc cũng hiểu thì các bác thích kiểu nào hơn

    150-20 thì chưa phải tương quan , nhưng nếu lên 15k lines đơn giản vs 2k line phức tạp thì chắc cũng phải có cân nhắc giua 2 sự lựa chọn .:sweat:

    Nên mình:adore: cũng tính vào forums để khảo sát thử anh em vozer thuộc style nào :
    1. Kiểu 1 , đơn giản và dài hơn , dễ bị lặp code hơn nhưng ai đọc cũng hiểu

    2. Kiểu 2, code ngắn hơn nhưng phức tạp hơn , code mà người khác phải có trình tương đương đọc mới hỉu.

    Last Updated 13-03-2019 at 09:25
    Hi các bác, tự nhiên hôm này đọc dc bài này
    Tóm lại nếu cùng ra 1 kết quả thì giữa 150 dòng code if else đơn giản dễ đọc VS 20 dòng code ngắn gọn, cực kì xúc tích nhưng ko phải ai đọc cũng hiểu thì các bác thích kiểu nào hơn

    150-20 thì chưa phải tương quan , nhưng nếu lên 15k lines đơn giản vs 2k line phức tạp thì chắc cũng phải có cân nhắc giua 2 sự lựa chọn .:sweat:

    Nên mình:adore: cũng tính vào forums để khảo sát thử anh em vozer thuộc style nào :
    1. Kiểu 1 , đơn giản và dài hơn , dễ bị lặp code hơn nhưng ai đọc cũng hiểu

    2. Kiểu 2, code ngắn hơn nhưng phức tạp hơn , code mà người khác phải có trình tương đương đọc mới hỉu.

    Last Updated 14-03-2019 at 09:25
    Hi các bác, tự nhiên hôm này đọc dc bài này
    Tóm lại nếu cùng ra 1 kết quả thì giữa 150 dòng code if else đơn giản dễ đọc VS 20 dòng code ngắn gọn, cực kì xúc tích nhưng ko phải ai đọc cũng hiểu thì các bác thích kiểu nào hơn

    150-20 thì chưa phải tương quan , nhưng nếu lên 15k lines đơn giản vs 2k line phức tạp thì chắc cũng phải có cân nhắc giua 2 sự lựa chọn .:sweat:

    Nên mình:adore: cũng tính vào forums để khảo sát thử anh em vozer thuộc style nào :
    1. Kiểu 1 , đơn giản và dài hơn , dễ bị lặp code hơn nhưng ai đọc cũng hiểu

    2. Kiểu 2, code ngắn hơn nhưng phức tạp hơn , code mà người khác phải có trình tương đương đọc mới hỉu.

    Hi các bác, tự nhiên hôm này đọc dc bài này
    Tóm lại là giữa 150 dòng code if else đơn giản dễ đọc VS 20 dòng đơn giản nhưng ko phải ai đọc cũng hiểu thì các bác thích kiểu nào hơn

    150-20 thì chưa phải tương quan , nhưng nếu lên 15k lines đơn giản vs 2k line phức tạp thì chắc cũng phải có cân nhắc giua 2 sự lựa chọn .:sweat:

    Nên mình:adore: cũng tính vào forums để khảo sát thử anh em vozer thuộc style nào :
    1. Kiểu 1 , đơn giản và dài hơn , dễ bị lặp code hơn nhưng ai đọc cũng hiểu

    2. Kiểu 2, code ngắn hơn nhưng phức tạp hơn , code mà người khác phải có trình tương đương đọc mới hỉu.
     
  2. ko_hieu

    ko_hieu New Member

    Cũng tùy trường hợp nữa, những cái thiên về đặc thù như là bussiness, thống kê thì nhiều lúc mình viết dài hơn 1 chút.

    Còn những cái khác thì gọn 1 chút, dạo này code rails thành ra gọn quá mức :surrender:
    Tới hồi đọc lại đếch biết mình từng viết cái gì
     
  3. Nipin

    Nipin New Member

    > Tóm lại là giữa 150 dòng code if else đơn giản dễ đọc VS 20 dòng đơn giản nhưng ko phải ai đọc cũng hiểu thì các bác thích kiểu nào hơn

    150 if else thì có thánh cũng đọc không hiểu, tương tự với 20 dòng code mà biến toàn là a, b, c.

    Tốt nhất thì tuỳ theo ngôn ngữ cậu dùng mà follow code style guide của ngôn ngữ đó.
    Ví dụ ruby có Link đã ẩn. Bạn cần đăng nhập

    Theo cái này thì một function hơn 10 dòng nó đã phàn nàn chứ đừng nói là 150 dòng.

    Hoặc tôi viết elixir nó thích kiểu data pipeline, thì cũng chia nhỏ một chức năng ra cả tá methods, thậm chí nếu file to quá còn delegate bớt sang module khác cho gọn.
     
  4. INTP

    INTP New Member

    > 20 dòng đơn giản
    > nhưng ko phải ai đọc cũng hiểu

    đơn giản hay đang giỡn đây :adore:
     
  5. gprsmms

    gprsmms New Member

    20 dòng nhưng thêm chú thích chi tiết
     
  6. alohomora

    alohomora New Member

    Đã từng cãi nhau với 1 đám thằng về việc dùng 1 cái regex khủng bố hay dùng nhiều cái regex đơn giản để kiểm tra độ mạnh của mật khẩu.

    Tôi thiên về option sau.
     
  7. INTP

    INTP New Member

    viết code đơn giản thì phải dài, code đơn giản thì được đồng nghiệp khen viết code dễ hiểu, code dài thì được sếp khen làm việc chăm chỉ, khách hàng thì mừng húm vì cùng số tiền mà thằng này code nhiều hơn thằng kia. Code dài muôn năm :sure:
     
  8. Compton

    Compton New Member

    Kiểu nào dễ đọc dễ hiểu, dễ maintain và dễ debug.
     
  9. BanhXe0_

    BanhXe0_ New Member

    Nói nôm na là nhìu dòng đơn giản ,thằng chủ thread ấy lấy if else làm vi dụ vậy thôi
    Bac thích dùng datapipeline thi chac la option sau


    Bình thường, khi bắt đầu với 1 chức năng thì 1 file - 200 LOC , sau đó yêu cầu tăng lên, bạn viết thêm vào, thêm file vào =>refactor để shrink code lại để tránh lặp code nên 1 function bé nhưng phức tạp/trừu tượng là bình thường mà .

    Cái này thì bản thân mình gặp rồi, nhất là mấy cậu giỏi "Good code is self-documenting":sweat:. Tên biến/hàm chính là comment:sosad: . Đương nhiên là ko có "int a =2" mà là tên_rất_dài_có_chuẩn:chaymau:

    Ghi nhận :adore:
    Bác làm outsource ,đếm dòng tính tiền à :sweat:

    Thì mình nêu lên vấn đề cá nhân mà, có người thích dài và đon giản , ng thích ngắn mà trừu tượng hơn . Bác thích cái nào hơn:adore:
     
  10. Compton

    Compton New Member

    Nếu bạn viết code cho một mình bạn sử dụng thì nói thật bạn viết sao chả được. Nhưng nếu dính vào open source, team, và maintain thì nên viết sao ai đọc cũng hiểu (bao gồm cả bản thân mình). Cho nên ngta hay nói làm chung team thì lúc nào cũng nên đặt cái cá nhân, cái tôi qua một bên là vậy.

    Mình không phải developer gì nên nhiều khi cần lôi code (chủ yếu là python script) viết cách đây vài tháng ra nhiều khi mất vài phút mới nhớ ra mình tại sao mình lại làm vậy mặc dù cũng comment đầy đủ nên lúc nào viết mình cũng ưu tiên dễ hiểu, dễ debug, etc. :D
     
comments powered by Disqus

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice