thảo luận OOP hay FP

Các Voz Dev thuộc trường phái nào ?


  • Total voters
    604
lol hôm nọ thằng bạn dùng react làm ví dụ cho FP đã bị tôi chửi cho thối mặt, vào đây lại thấy các ý kiến tương tự =)

dùng FP của js vốn nát như cứt rồi suy ra "FP hoá ra cũng chỉ thế" thì khác kẹc gì thầy bói xem voi. Muốn xem nó có hiệu quả hay không thì dùng thử elixir, F# cho biết mùi, khá dễ học mà thực dụng.
Reactjs vì nó quá flexible nên lúc vô dự án nếu tổ chức quản lý không tốt thì chẳng khác nào một đống shit-code.

Như mình ở nhà làm demo, cũng phải tầm gần 50 components nhưng trước lúc làm thì có tổ chức + quy chuẩn rõ ràng nên dễ maintain.

Giờ vào làm thực tập đụng phải project mà cỡ chục người viết, éo ai thống nhất, quản lý gì cả nên giờ đống shitcode nó nhìn vô là mún ỉa chảy.:oops:

Nhưng biết thế nào giờ, refactor thì không đủ lv. Mà càng viết thêm thì lại khác nào ị thêm dòng shit code đó. :confused:
 
Giờ vào làm thực tập đụng phải project mà cỡ chục người viết, éo ai thống nhất, quản lý gì cả nên giờ đống shitcode nó nhìn vô là mún ỉa chảy.:oops:

Nhưng biết thế nào giờ, refactor thì không đủ lv. Mà càng viết thêm thì lại khác nào ị thêm dòng shit code đó. :confused:
Chính vì vậy mới thấy cái hay của statically typed language, càng explicitly càng tốt. Project tầm 4 người trở lên mà không có type thì kiểu gì cũng nát. BE cứ Java, C#, FE cứ Typescript thì project bao nhiêu người cũng cân hết
zFNuZTA.png
.
Còn anh nào bảo "quan trọng người code" chứ ngôn ngữ nào cũng như nhau thì hoặc là chưa vào dự án nhiều người, hoặc chưa code 1 ngôn ngữ static đủ lâu bao giờ
BdgiW7R.png
 
Last edited:
Mình đi học và đi làm chỉ dùng OOP nên không rỏ FP có các ưu điểm như của OOP không? Như dễ tổ chức, bảo trì, mở rộng, tái sử dụng code? Cần cao nhân thông não

via theNEXTvoz for iPhone
 
Đm e đang làm cái pj cho 1 bên ngân hàng, viết base chán đcđ, react xài bản cũ, redux còn cũ tới mức ko xài được hook, nói mãi mới chịu update lên vì sợ lỗi (mà sau cùng cũng có lỗi mẹ gì đâu), toàn bê code từ mấy con khác sang nên component viết sai tan nát cả, sửa lại đ khác gì viết lại luôn, chỗ thì FC, chỗ thì CC. Ghét vch các bác ạ :rolleyes::rolleyes: làm cho bọn này nhiều tiền thật, nma suy nghĩ sợ lỗi vs sợ chậm của tụi n làm mình code mà phát chán cả lên

Sent from Xiaomi Redmi Note 5 using vozFApp
 
Vãi bác kia bảo fp dơ. Bác thử tham gia các pj mà code thuần fp thử đi (không có for loop, không có side effect), code bằng scala/haskel mình thấy đẹp hơn cả OOP. Hình như nhiều bác ở đây k phân biệt được FP và imperative programming thì phải. Code FP đúng cực, dài, đẹp chứ k phải ngắn và dơ đâu
 
Vãi bác kia bảo fp dơ. Bác thử tham gia các pj mà code thuần fp thử đi (không có for loop, không có side effect), code bằng scala/haskel mình thấy đẹp hơn cả OOP. Hình như nhiều bác ở đây k phân biệt được FP và imperative programming thì phải. Code FP đúng cực, dài, đẹp chứ k phải ngắn và dơ đâu

Cái này do người ta hiểu nhầm procedure và functional thôi chứ đúng là phải: procedure vs. oop vs. functional.
Còn imperative phải so sánh với declarative.
 
Chính vì vậy mới thấy cái hay của statically typed language, càng explicitly càng tốt. Project tầm 4 người trở lên mà không có type thì kiểu gì cũng nát. BE cứ Java, C#, FE cứ Typescript thì project bao nhiêu người cũng cân hết
zFNuZTA.png
.
Còn anh nào bảo "quan trọng người code" chứ ngôn ngữ nào cũng như nhau thì hoặc là chưa vào dự án nhiều người, hoặc chưa code 1 ngôn ngữ static đủ lâu bao giờ
BdgiW7R.png
Chuẩn cmn luôn. Code không type thằng sau vào mò mẫm chửi thề chắc luôn :D
 
Dơ hay không do bản thân đép đó thôi bạn.
Thôi bạn bớt bớt đi, cái lập luận này nghe riết nhàm luôn, làm dev mà tư duy self attribution vkl. Do dev là thế nào, mỗi ngôn ngữ có điểm yếu điểm mạnh khác nhau, ecosystem khác nhau , convention khác nhau, văn hóa cũng khác nhau. Dev chỉ là 1 trong các yếu tố thôi bạn ơi, làm dev thì tư duy nhiều biến vào
EB2RUU6.gif
.
 
Thôi bạn bớt bớt đi, cái lập luận này nghe riết nhàm luôn, làm dev mà tư duy self attribution vkl. Do dev là thế nào, mỗi ngôn ngữ có điểm yếu điểm mạnh khác nhau, ecosystem khác nhau , convention khác nhau, văn hóa cũng khác nhau. Dev chỉ là 1 trong các yếu tố thôi bạn ơi, làm dev thì tư duy nhiều biến vào
EB2RUU6.gif
.
Thế cơ à. Tôi chỉ thấy do 2 yếu tố. 1 là bản thân của dev đó, tính cẩu thả thì ecosystem hay văn hoá gì cũng ko cứu vãn đc. 2 là budget, giá cao thì sẽ đc chăm chút hơn. Còn mấy cái thím nói chỉ là biện hộ cho dev dơ thôi.
 
mình cũng thích FP, nhưng hiện tại dự án thống nhất viết OOP(Angular) cho nhất quán với nhau. Mấy người khác trong dự án họ chưa tìm hiểu FP nên đọc code mình viết là hỏi chấm ngay
 
OOp thì tận dụng được cái kế thừa. Nhưng reuse khó, sửa thì impact ra nhiều thứ.

FP thì đơn giản hơn, dễ debug, unittest, reuse code. FP thể hiện đúng cái bản chất của vạn vât. Mọi thứ trên đời này đều vận hành theo hàm. Ví dụ p=mv, e=mc2...OOp được ưa thích bởi tư duy người hơn
 
Fp gần với tự nhiên , vì nó gần với tính bất biến của toán học, opp sinh ra do suy nghĩ lệch lac của con người thuở mới lập trình vote fn
 
Back
Top