4

Mình KHÔNG THÍCH sử dụng open source framework 

đăng cách đây 9 tháng

Hugest anti-pattern

Framework là một trong những anti-patterns lớn trong việc phát triển phần mềm. Framework khó để học, giới hạn sự sáng tạo của bạn, bó buộc code của mình theo rule của framework.

Mình không phủ nhận việc bạn sử dụng framework để build sản phẩm rất là nhanh. Nhưng những framework là một khối thống nhất, muốn optimize, chỉnh sửa.... trên một framework sẽ rất khó.

Tạo tính chây lười, sợ thử thách

Sử dụng framework cứ ngỡ là dễ với người mới nhưng mình lại nghĩ là không. Những người mới chưa hiểu sâu về ngôn ngữ đằng sau một framework, sử dụng một thời gian dài sẽ bị lệ thuộc và không dứt ra được. 

Sử dụng framework sẽ tạo cho bạn tính chây lười.  ...framework đó không hỗ trợ  là một trong những câu nghe bất lực cực kì. Vậy thì bây giờ làm sao, bỏ đi sử dụng framework khác.

Điều này ngược lại với người tạo ra framework. Khi người tạo ra những framework thì cực kì tinh nhuệ và hiếu chiến. Thì những người sử dụng framework lại càng dễ dàng bị framework làm cho mê muội bấy nhiêu.

Con khỉ và trái chuối

Bạn chỉ cần một trái chuối, framework đưa cho bạn cả một khu rừng với một đống khỉ

 Muốn là một framework xịn thì phải support càng nhiều use-case càng tốt, tuy nhiên muốn support được thì phải code nhiều hơn, handle nhiều hơn. Nhưng những cái mình cần chỉ là 20% trong số những tính năng đó thôi thì sao ? 

Để người khác quyết định số phận của project

Yup. Bạn đâu biết là framework nó xử lý như thế nào, nó build như thế nào đâu. Trong khi mình đang cố gắng sấp mặt để optimize project, cân đo đong đếm từng dòng code để làm sao cho xử lý nhanh nhất có thể, design pattern này nọ ghê gớm.

Ok bạn đang làm rất tốt, giờ  việc còn lại hãy để framework lo. 

Framework đáp: OK để cover trường hợp này, mình sẽ thêm thư viện a, b, c, d, e ,f... vô nè. À chắc phải thêm code chỗ này để chắc chắn anh x, y, z, c, v.... vẫn chạy ổn nè.....

Cuối cùng việc optimize ở đây thực sự có ý nghĩa không ???

Giới hạn sự sáng tạo

Yup vì cần đến framework nên phải đi nhanh thôi, framework suggest sao thì mình làm vậy cứ cũng chẳng biết nữa. Sửa nó chạy rồi lỡ nó chết ở đâu ai mà biết được. 

✧ ✧ ✧

Tôi: Ê t có kiến trúc pattern này hay lắm, apply vào framework này test thử.

Framework: ẾU... Lên github tạo issue đi, khi nào nhiều người request rồi t thêm nhá.

Thay đổi code mỗi khi upgrade version

Nếu framework có hỗ trợ những version cũ thì chúc mừng bạn, nhưng nếu function, chức năng bạn đang sử dụng nằm trong những thay đổi bị bỏ đi thì......

Nếu project bạn đã quá bự và việc áp dụng những thay đổi đó là không khả thi, thì chỉ có cách xài version cũ và ngậm ngùi dậm chân tại chỗ thôi.

Việc phần mềm không đáp ứng được những thay đổi theo thời gian thì phần mềm đó coi như bỏ

✧ ✧ ✧

Tuy nhiên trong một số trường hợp việc sử dụng framework rất thích hợp ví dụ như bạn cần build một bản product nhanh để demo hoặc làm sản phẩm MVP để show ra ý tưởng gọi vốn, thì lúc này framework sẽ giúp bạn được rất nhiều thời gian và công sức để đạt được mục đích. Nhưng việc bạn có sử dụng bản MVP đó để build làm sản phẩm chính cho công ty hay startup của mình thì .... chúc bạn may mắn thôi.

Kết bài

Mình không có ý định chỉ trích việc sử dụng framework, nhưng khi sử dụng các bạn ít ra cũng nên nhận thức được những giá trị của nó mang lại là gì, phù hợp với bạn hay không để có những quyết định đúng đắn cho dự án của bạn.

#programming#framework
4
0
...