Yêu cầu thg 8 9, 2022 4:37 CH 359 1 3
  • 359 1 3
+4

Tư duy lập trình

Chia sẻ
  • 359 1 3

Chào các bạn, hiện tại mình đang là dev FE, cho tới hiện tại công việc của mình vẫn ổn, nhưng khi nhìn lại thì tư duy lập trình, cách nhìn nhận vấn đề của mình có vấn đề. Như các bạn biết thì code sao nó cũng chạy hết miễn đúng là được, nhưng khi mình code xong 1 feature và sếp yêu cầu thêm 1 tính năng trong tính năng vừa code, thì mình nhận ra là code của mình khó reused và khó scale lên khi có thêm yêu cầu. Các bạn có gặp vấn đề này chưa và có hướng giải quyết như nào cho mình xin lời khuyên nhé. Cảm ơn các bạn

3 CÂU TRẢ LỜI


Đã trả lời thg 8 11, 2022 6:58 SA
Đã được chấp nhận
0

bạn tìm hiểu về clean architecture. Mình cũng giống bạn, nhiều lúc code rồi không reused lạị.

Chia sẻ
Đã trả lời thg 8 10, 2022 1:23 SA
+8

Hi bạn, hướng giải quyết của mình là mình sẽ thường xuyên đọc những best practice về cách code trong ngôn ngữ hay framework mà mình đang làm, đọc những dự án nổi tiếng viết bằng ngôn ngữ hay framework mình đang dùng để xem cách người ta viết như thế nào, cách người ta reuse và áp dụng vào trong code mình đang làm và học hỏi từ sai lầm.

Ví dụ như hôm nay mình viết một cái component trong React tên là CreateWebsiteButton, qua ngày hôm sau sếp muốn thêm một cái nút y chang để tạo Product chỉ đổi màu với đổi chữ. Mình nhận thấy nếu tạo thêm nút CreateProductButton thì mình sẽ không reuse được gì nên mình sẽ đổi thành component tên Button, nhận vào props là màu và chữ. Sau đó, sếp thêm một nút để chỉnh sửa, thiết kế khác hoàn toàn, như vậy mình không thể reuse được Button component và lúc này mình thấy tên Button nó hơi không còn đúng nữa, vậy là mình đổi sang component tên là CreateButton, còn cái button để chỉnh sửa sếp mới kêu thêm thì với kinh nghiệm lần trước, mình sẽ hỏi sếp xem sau này thêm nút chỉnh sửa thì nó có giống cái mà chỉ đổi màu đổi chữ thôi không. Nếu có thì mình sẽ đặt tên là EditButton. Sau đó, mình vô tình đọc biết được antd, người ta có component Button có những props như onClick nhận vào 1 callback và thế là thay vì chia ra là CreateButton hay là EditButton thì bây giờ mình chỉ cần component tên là Button và nhận vào màu, chữ và callback cho onClick.

Tóm tắt lại là học hỏi từ người khác và học hỏi từ sai lầm của bản thân thì dần dần code của bạn sẽ reuse và scale được nhiều hơn.

Chia sẻ
Đã trả lời thg 8 10, 2022 8:34 SA
+1

Theo mình thì một số cách sau đây có thể giúp bạn hơn trong việc viết để dễ Reused và Scaled lớn:

  1. Là Module hóa các phần mình viết: Cụ thể là cố gắng tưởng tượng được kinh nghiệm kiến thức về phần mình đang viết, chia ra thành Class, Interface, View, Controller (những cái mà Framework hỗ trợ) những hàm chung chung có thể cho ra 1 cái kiểu utils, common để sau này dùng lại. hoặc trình chính quá trình phát triển thấy nó được dùng lại chỗ khác thì ngay lập tức lên ý tưởng xem đặt phần chung này ở đâu cho thuật tiện dễ hiểu.
  2. Sử dụng các Design Pattern Việc sử dụng các Design Pattern sẽ rất dễ dàng cho bạn mở rộng cho 1 function hoặc 1 class
  3. Sử dụng các tính chất của OOP, dùng Generics
  4. Học Học cách code của người giỏi hơn, hoặc là tìm project cùng framework mình đnag làm để tìm hiểu các phân chia code, cách dùng, nếu có cái hay thì cố gắng áp dụng vào dự án của mình. Đây là một vài chia sẻ của mình. Bản thân mình thì cũng chỉ đang trong quá trình phát triển và luôn cố gắng hơn sau mỗi dự án
Chia sẻ
Avatar Minh Tran @MinhTH
thg 8 10, 2022 9:04 SA

mình cũng có xem qua 1 số Design Pattern nhưng vẫn chưa hiểu nó apply vào code như nào

thg 8 11, 2022 12:55 SA

theo mình khởi đầu thì có thể tham khảo Factory Method hoặc Builder Method, 2 cái này đều dùng cho khởi tạo khá dễ áp dụng trong các dự án, ko rõ cụ thể bạn đang làm với công nghệ nào nhỉ

Avatar Minh Tran @MinhTH
thg 8 15, 2022 9:12 SA

@LeWind hiện tại mình đang làm react, khi làm feature thì ok, nhưng khi mà cần thêm tính năng vào thì mới nhận ra là code của mình viết khó thêm tính năng mới

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí