Mã tái sử dụng là một vấn đề
Tôi đã suy nghĩ về câu hỏi này về phân phối phần mềm và tôi tiếp tục quay trở lại vấn đề về độ lặp lại và / hoặc độ tái lập . Chúng quan trọng, bởi vì nếu bạn không lặp lại một dự án thì việc cải thiện quy trình bạn sử dụng để xây dựng dự án sẽ trở nên khó khăn hơn. Kỹ thuật liên quan đến việc liên tục cải tiến các quy trình liên quan đến thiết kế và xây dựng để tạo ra các dự án chất lượng cao hơn.
Phần mềm có thể phụ thuộc rất nhiều vào việc tái sử dụng do hình thức kỹ thuật số của nó. Thay vì viết lại một mô-đun, chúng tôi chỉ cần gọi lại hoặc sao chép nó sang hệ thống khác. Một số ví dụ là xác thực / đăng nhập hoặc có lẽ là một chức năng đăng nhập. Có nhiều ví dụ nổi tiếng cho các loại đó, và sự khôn ngoan thông thường là sử dụng lại những gì tồn tại thay vì tự lăn.
Một số so sánh với các ngành khác
Xây dựng
Ngược lại, việc xây dựng các hệ thống vật lý (tòa nhà, cây cầu) không nơi nào có thể tái sử dụng. Đúng là bản thiết kế của một ngôi nhà có thể được tái sử dụng nhiều lần để xây dựng cùng một bản sao của ngôi nhà, nhưng việc xây dựng phải được thực hiện mỗi lần. Cắt và dán không hoạt động như thế trong thế giới tương tự. Bản thiết kế cầu ít sử dụng lại nhà ở vì điều kiện địa điểm sẽ thay đổi.
Các nhà xây dựng chính là các chuyên gia được công nhận vì đã thiết kế và / hoặc xây dựng hàng chục, hàng trăm hoặc hàng ngàn thứ trong khu vực của họ. Ví dụ, Frank Lloyd Wright , một kiến trúc sư và nhà thiết kế nổi tiếng thế giới designed more than 1,000 structures and completed 532 works
. Trái ngược với với Anders Hejlsberg , người đã thiết kế ra năm ngôn ngữ của Hồi giáo (Turbo Pascal; Delphi; J ++; C #; Typecript). Theo nhiều cách, đó là một so sánh không công bằng vì các tên miền là khác nhau. Nhưng ở cấp độ rộng, sản xuất có thể định lượng từ hai người rất thông minh là rất khác nhau.
Võ thuật
Các võ sĩ sẽ nói rằng việc làm chủ một động tác chỉ đến từ hàng ngàn lần lặp lại. Sau khi một phần tốt của những lần lặp lại đó được đưa vào, nhiều võ sĩ ngạc nhiên khi thấy một kata hoặc hình thức phức tạp trước đây trở nên đơn giản. Giáo viên hướng dẫn của những sinh viên đó cũng sẽ nhận thấy làm thế nào chuyển động trở nên trôi chảy và có mục đích hơn cũng như có một nền kinh tế của chuyển động. Tương tự như vậy, các võ sĩ giàu kinh nghiệm có thể nhận được các thanh katas phức tạp nhanh hơn các học sinh ít kinh nghiệm hơn. Kinh nghiệm từ sự lặp lại đã cho họ một khuôn khổ hoặc quy trình cho phép họ học nhanh hơn.
Chế biến gỗ
Thợ gỗ trải qua một sự chuyển đổi tương tự. Thợ mộc sở thích luôn quay trở lại dự án đầu tiên của họ đòi hỏi rất nhiều ngăn kéo. Nếu họ hoàn thành dự án, họ sẽ đạt được sự đánh giá cao mới về hiệu quả mà dây chuyền lắp ráp tạo ra. Có những lợi ích khác như hiểu rõ hơn về cách bố trí các bộ phận ngăn kéo trên tấm gỗ để tối đa hóa việc sử dụng gỗ. So với những người có sở thích, thợ gỗ chuyên nghiệp có thể nhanh chóng thiết kế, bắt đầu và xây dựng các vật phẩm mà họ đã thực hiện nhiều lần trước đây. Họ cũng có khả năng nhìn thấy các vấn đề cố hữu trong thiết kế của người khác đã mắc phải sai lầm đó trong công việc của họ.
Vì vậy, việc tái sử dụng phần mềm có ngăn cản các nhà phát triển phần mềm trở nên thành thạo hơn không?
Theo nhiều cách, thiết kế và xây dựng phần mềm luôn luôn mới. Chúng tôi không lặp lại các công việc trong quá khứ, bởi vì nếu chúng tôi có thể sử dụng lại một mô-đun, thư viện hoặc hệ thống thì chúng tôi sẽ làm. Chúng tôi ưu tiên mở rộng một hệ thống hiện có trước khi viết lại toàn bộ từ đầu. Nhưng sự lặp lại là những gì cho phép chúng tôi tìm thấy hiệu quả trong thiết kế và xây dựng. Bất cứ ai đã luyện tập một môn thể thao hoặc hoạt động thể chất sẽ nói với bạn rằng sự lặp lại là chìa khóa để trở thành một học viên giỏi.
Câu hỏi của tôi: Khả năng được sử dụng lại của phần mềm có ngăn cản sự cải thiện quy trình và hiệu quả cần thiết đến từ việc lặp lại một dự án không?