Chuyện nghề 0 comments on Kế thừa không có nghĩa là copy (extending isn’t copying)

Kế thừa không có nghĩa là copy (extending isn’t copying)


Hai hai cuối cùng ta cũng có time trở lại với cái blog của mình.
Cả tháng nay tối nào rảnh cũng nướng vào cái đồ án
Cuối cùng hôm nay cũng tạm thơi khuây khỏa
Từ hôm nay ta biết thế nào là nhục là vinh. Là lấy tĩnh chế động.
Cho dù deadline có ngay trước mắt cũng phải bình tĩnh.
Bởi vì đặc thù nghề của chúng ta là dân dùng chất xám nhiều. Mà càng nóng thì càng nguy hiểm, vì vậy có khi cả tháng ngồi hì hục code kịp deadline không bằng một thằng ngồi nhâm nhi tìm thư viện rồi ghép vào.
Thật ra tìm thư viện để tận dụng là một các làm rất hay, đúng kiểu dev. Bởi vì có những việc ta nghĩ rất khó không thể code nổi thì đâu đó trong giang hồ đã tồn tại một bí kíp của một tiền bối nào đó để lại mà nếu ta tìm được thì vấn đề của ta không là cái đinh gì cả.
Nhưng đáng tiếc, trên đời cũng có một số loại coder muốn thấu đáo mọi việc mà không cần thư viện, họ tự dựng một đống mã của riêng mình. Mặc dù ngoài kia đã có một thư viện do người ta tâm huyết mười năm xây dựng sẵn thì hắn vẫn không để ý, hắn sẵn sàng bỏ mười năm để tạo ra thứ của riêng mình, tuy đây là một ý nghĩ khá “anh hùng” nhưng nó không đúng cho lắm.
Thế giới ta đang đứng luôn phát triển, và thế giới IT của chúng ta còn phát triển khủng hơn. Sở dĩ chúng phát triển là nhờ sự sáng tạo và biết kế thừa.
Trong lập trình hiện tại cũng có phương pháp OOPs cho phép nạp chồng (sáng tạo) và kế thừa giống y như thế. Chính việc sáng tạo khiến ta không ngủ quên trên chiến thắng, và việc kế thừa giúp ta đỡ phải làm lại từ đầu. Có lẽ cũng nhờ việc máy chạy những dòng lệnh kế thừa và nạp chồng rất nhanh so với việc ta kế thừa và thay đổi những máy móc có sẵn ngoài đời thực nên ngành IT mới đi lên nhanh như thế.
Là một lập trình viên, tôi nghĩ các bạn cũng nên như thế, phải biết kế thừa và sáng tạo. Tôi quan niệm kế thừa không có nghĩa là copy và thực tế chả ai ở không mà dùng hai từ khác nhau để diễn tả hai thứ cùng nghĩa. Thế nghĩa là sao? Xét về nghĩa, kế thừa là lấy xài và nhớ về gốc tức là nước thì cứ uống nhưng phải nhớ nguồn. “Nhớ” ở đây không có phải là buộc bạn phải nhớ về người tạo ra nó như tên tuổi, lai lịch, gia phả,… etc mà ở đây thiên về sự tôn trọng :v chứ ai mà nhớ nổi mấy cái đó.
Còn copy nghĩa là từ cái có sẵn ta clone ra một bản sao, nhưng bản sao ấy độc lập với bản chính. Ta có thể chỉnh vài thứ và nói là của mình. Tôi cá là các bạn cũng rất ghét thể loại này.
Chả nhẽ chúng ta cứ lấy cái cũ làm nền hoài hay sao? Xin thưa cái cũ chưa chắc đã tốt. Nhưng không nên bỏ phí. Tuy nhiên khi bạn đã là một dev lão làng và cũng là một coder thần sầu thì bạn có thể nhìn khác hơn, cân nhắc lại những gì mình viết và có thể tự tạo ra một cái thư viện tốt hơn cái mà bạn đã từng import. Khi đó bạn có thể share ra cộng đồng cho người khác kế thừa và ghi danh vào biên niên sử ngành :v
Cuối cùng chúc mn thành công :v