Kiến thức thịnh hành của nó trong xây dựng rằng phát minh sáng tạo lại bánh xe pháo là xấu hoặc ác .Bạn vẫn xem: Reinvent the wheel là gì

Nhưng lý do vậy?

Tôi không cho rằng nó tốt. Tôi tin rằng nó là sai. Tuy nhiên, tôi đã có lần đọc một bài bác báo nói rằng, nếu ai đó đã làm gì đó sai (lập trình khôn ngoan) giải thích cho họ lý do nó sai, nếu như khách hàng không thể, thì chắc hẳn rằng bạn nên tự hỏi liệu điều đó có thực sự sai không.

Bạn đang xem: Reinvent the wheel là gì

Điều đó dẫn tôi đến thắc mắc này :

Nếu tôi thấy ai đó ví dụ đang sáng tạo lại bánh xe bằng cách xây dựng phương thức riêng của mình về một thứ đã làm được tích hòa hợp vào ngôn ngữ/khung. Đầu tiên, đối với các đối số, hãy đưa sử rằng phương thức của họ hiệu quả như phương thức được xây dựng. Cũng là nhà phát triển, nhận thức được thủ tục tích phù hợp sẵn, thích phương thức của riêng biệt mình.

Tại sao anh ta nên áp dụng cái tích đúng theo trên một cái của mình?

reinventing-the-wheel 104 23 thg 12, 2010JD IsaacksNhư tôi đã từng đăng bên trên StackOverflow, phát minh sáng tạo lại bánh xe là thường là 1 trong những lựa chọn rất tốt, trái với ý thức phổ biến. Ưu điểm chính là bạn sẽ có toàn quyền kiểm soát trên phần mềm, thường là phải thiết. Để bàn luận đầy đủ, xem bài viết gốc của mình .

73 23 thg 12, 2010Dimitri C.

Phụ nằm trong ..

Như với tất cả mọi thứ, đó là về bối cảnh:

Thật giỏi khi :

Khung hoặc thư viện quá nặng và các bạn chỉ yêu cầu chức năng giới hạn. Cán phiên bạn dạng cực kỳ dịu của riêng bạn mà yêu thương cầu của bạn là một bí quyết tiếp cận tốt hơn.Khi bạn có nhu cầu hiểu và học một cái gì đó phức tạp, các bạn sẽ có ý nghĩa.Bạn có một cái gì đó khác biệt để cung cấp, rất nhiều thứ mà bạn khác ko có. Rất có thể là một bước ngoặt mới, hào kiệt mới, vv.

Thật tệ khi :

Chức năng đang tồn trên và được biết thêm là định hình và lừng danh (phổ biến).Phiên phiên bản của bạn không tồn tại gì mới.Phiên phiên bản của bạn trình làng các lỗi hoặc buộc ràng (ví dụ: phiên phiên bản của các bạn không an ninh cho chuỗi).Phiên bạn dạng của chúng ta thiếu tính năng.Phiên bạn dạng của bạn tài giỏi liệu tồi tàn hơn.Phiên bản của ai đang thiếu những bài kiểm tra đơn vị chức năng so với phần lớn gì nó đang gắng thế.

83 23 thg 12, 2010DarknightTôi nghĩ về trường vừa lòng của một nhà cải tiến và phát triển cố tình sáng tạo lại bánh xe pháo "bởi vày anh ta thích cách thức của riêng biệt mình" là tương đối hiếm. Hầu hết nó được tiến hành từ sự thiếu gọi biết, và đôi lúc vì sự bướng bỉnh.

Có phải tất cả đều xấu? Đúng. Trên sao? chính vì bánh xe lúc này rất có thể đã được chế tạo theo thời gian và đã có được thử nghiệm trong tương đối nhiều trường đúng theo và chống lại nhiều loại tài liệu khác nhau. (Các) nhà trở nên tân tiến của bánh xe hiện tại đã gặp phải những trường đúng theo Edge với những trở ngại mà người sáng chế thậm chí chẳng thể tưởng tượng được.

56 23 thg 12, 2010Dan RayBánh xe cộ vuông bắt buộc được sáng tạo lại. Nỗ lực mà hút buộc phải được nhân đôi. Hoàn toàn có thể thiếu tài liệu cho phương pháp và lập trình sẵn viên không giống cảm thấy câu hỏi viết riêng rẽ của họ thuận lợi hơn gắng vì cố gắng tìm ra nó. Có lẽ rằng cách mà lại phương thức đang rất được gọi là tương đối khó xử với không tương xứng với thành ngữ của ngôn từ lập trình.

Chỉ nên hỏi anh ấy mọi gì thiếu thốn hụt.

22 23 thg 12, 2010user8865Nói chung, tôi tránh phát minh sáng tạo lại bánh xe cộ nếu tác dụng tôi mong muốn hoặc thứ gì đó gần đúng với nó, vĩnh cửu trong thư viện chuẩn chỉnh của ngôn ngữ tôi sử dụng.

Tuy nhiên, ví như tôi phải phối kết hợp các tủ sách của mặt thứ ba, đó là 1 cuộc call phán xét tùy thuộc vào lúc độ áp dụng và review cao của thư viện. Ý tôi là, họ đang nói đến Boost hoặc Bob"s Kick-ass String-Parsing Tools 1.0?

Ngay cả lúc thư viện nói bình thường là khét tiếng và được review cao vào toàn ngành, nó vẫn luôn là một phụ thuộc của mặt thứ cha . Những lập trình viên thường chú trọng đáng đề cập vào các điểm mạnh của câu hỏi tái thực hiện mã, trong những lúc thường che giấu sự nguy nan của các phụ thuộc. Một dự án công trình có quá nhiều sự phụ thuộc vào của bên thứ ba có thể sẽ sụp đổ trong thời gian dài lúc nó từ từ phá bỏ thành một cơn ác mộng bảo trì.

Vì vậy, tận dụng mã hiện tất cả là giỏi - nhưng nhờ vào là xấu . Thật ko may, nhì tuyên cha này là bất hòa cùng với nhau, bởi vậy mẹo là nỗ lực tìm sự cân bằng phù hợp. Đó là lý do tại sao các bạn cần xác minh các phụ thuộc vào có thể chấp nhận . Như tôi vẫn nói, bất cứ điều gì trong tủ sách tiêu chuẩn chỉnh của ngôn từ rất có thể là một sự phụ thuộc đồng ý được. đưa từ đó, những thư viện được review cao trong toàn ngành cũng hay được chấp nhận (như Boost cho C++ hoặc jQuery mang lại Javascript) - tuy vậy chúng vẫn còn đó ít hơn mong ước hơn Thư viện chuẩn chỉnh vì bọn chúng làm cho có xu thế kém ổn định hơn so với thư viện được tiêu chuẩn hóa.

Đối với các thư viện tương đối không rõ, (ví dụ: mua lên mới nhất trên SourceForge) đây là những phụ thuộc rất là rủi ro cùng tôi thường khuyên chúng ta nên tránh những điều này trong mã sản xuất, trừ khi bạn đủ thân thuộc với mã nguồn để tự gia hạn chúng.

Vì vậy, nó đích thực là một hành vi cân bằng. Nhưng sự việc là chỉ việc mù quáng nói "Mã sử ​​dụng lại tốt! sáng tạo lại bánh xe xấu!" là 1 trong thái độ nguy hiểm. Tác dụng của việc tận dụng mã của mặt thứ bố cần được cân nhắc với những vô ích của vấn đề đưa ra những phụ thuộc.

17 giả dụ mọi tín đồ không sáng tạo lại bánh xe, nhân loại sẽ tràn ngập những thiết bị này .. 

*

Đây là 1 trong cuộc đối thoại từ nơi làm việc của tôi:

- I would like to add some colors to the đầu ra of this program.- Oh, there is this library called Colorama ..Có hai tùy chọn: hoặc phát minh lại bánh xe cộ OR áp dụng Colorama. Đây là những gì mỗi tùy chọn sẽ dẫn đến:

Sử dụng Colorama

Có thể cấp tốc hơn một chút ít để chạyThêm một dựa vào của bên thứ tía cho một cái gì đấy tầm thườngBạn liên tục ngu ngốc như trước đó khi sử dụng Colorama

Phát minh lại bánh xe

Bạn gọi làm cầm nào một trong những chương trình có thể hiển thị màu sắc sắcBạn biết rằng các ký tự đặc biệt rất có thể được thực hiện để tô color trên bất kỳ thiết bị đầu cuối nàoBạn rất có thể tô màu sắc bằng ngẫu nhiên ngôn ngữ xây dựng nào chúng ta cũng có thể sử dụng trong tương laiDự án của người sử dụng ít có tác dụng phá vỡ

Như chúng ta thấy, toàn bộ tùy thuộc vào bối cảnh. Phát minh lại bánh xe là điều tôi làm rất thường xuyên vì tôi muốn có thể và suy nghĩ cho phiên bản thân mình và không dựa vào người không giống nghĩ mang lại tôi. Tuy nhiên, nếu như bạn đang làm việc theo thời hạn hoặc hầu hết gì bạn nỗ lực thực hiện tại là không hề nhỏ và vẫn tồn tại, thì giỏi hơn hết bạn nên thực hiện những gì đang có.

Một nguyên nhân hữu ích để phát minh sáng tạo lại bánh xe cộ là vì mục tiêu học tập - tuy nhiên tôi khuyên bạn nên triển khai nó vào thời gian của riêng bạn. Khi bao gồm nhiều giải pháp đóng vỏ hộp sẵn gồm và mức độ trừu tượng được hỗ trợ nhiều hơn, công ty chúng tôi trở bắt buộc năng suất hơn rất nhiều. Bạn có thể tập trung vào vấn đề marketing hơn là đa số thứ thông thường chung vẫn được kiểm soát và điều chỉnh nhiều lần. NHƯNG, vì tại sao đó, bạn cũng có thể mài giũa kỹ năng của mình và học hỏi được không ít thứ bằng phương pháp tự mình triển khai lại một giải pháp. Chỉ không tuyệt nhất thiết cho thực hiện sản xuất.

Một điều khác - nếu như mối ân cần là sự phụ thuộc vào thư viện bên thứ ba từ 1 công ty hoàn toàn có thể biến mất, hãy bảo đảm an toàn có một tùy chọn để đưa mã nguồn, hoặc ít nhất là 1 trong những vài chọn lựa khác xung quanh đó để quay trở lại.

Nhân tiện, nếu như bạn chọn tự thực hiện, hãy kiêng làm vấn đề đó cho mật mã hoặc các tác dụng liên quan lại đến bảo mật thông tin khác. Những công nỗ lực đã được tùy chỉnh cấu hình (và vẫn được bình chọn đầy đủ) có sẵn mang lại điều đó, với trong thời đại ngày nay, thiệt là quá mạo hiểm khi chúng ta tự lăn lộn. Điều kia không lúc nào có giá trị, và thật khiếp sợ khi tôi vẫn nghe về các đội có tác dụng điều này.

Có nhị loại hiệu quả - xử lý/tốc độ (đó là vận tốc thực thi nhanh) nhưng mà nó bao gồm thể cân xứng và tốc độ phát triển mà ngay sát như chắc chắn là sẽ ko xảy ra. Đó là lý do trước tiên - đối với ngẫu nhiên vấn đề phức tạp phù hợp nào có sẵn các chiến thuật hiện có, gần như chắc hẳn rằng sẽ cấp tốc hơn để phân tích và triển khai một thư viện hiện có hơn là viết mã của riêng biệt bạn.

Lý vày thứ nhị là thư viện hiện tại (giả sử đã trưởng thành) đã có thử nghiệm và được minh chứng là có hiệu quả - hoàn toàn có thể trong phạm vi rộng lớn hơn nhiều so với nhà phát triển và nhóm thử nghiệm sẽ có thể đặt new thói quen bởi văn phiên bản thông qua và điều này đến ở nỗ lực cố gắng không.

Thứ ba, đó là cách dễ ợt hơn nhằm hỗ trợ. Không chỉ có người khác hỗ trợ và nâng cao nó (bất cứ ai đã viết thư viện/thành phần), dẫu vậy nhiều kỹ năng các nhà cách tân và phát triển khác sẽ không còn xa lạ với nó và hoàn toàn có thể hiểu và gia hạn mã đi về phía trước, tất cả đều sút thiểu giá cả đang diễn ra.

Và tất cả những gì mang định tương tự chức năng, thường chưa hẳn là ngôi trường hợp. Những thư viện liên tiếp sẽ cung cấp tác dụng mà bạn sẽ thấy có lợi nhưng không bao giờ có thể biện minh cho việc xây dựng, tất cả đều sở hữu sẵn miễn phí.

Có nhiều nguyên nhân để trường đoản cú mình tiến hành - đa phần là nơi bạn có nhu cầu làm điều nào đó mà tác dụng tích hợp cấp thiết làm và địa điểm nào có ích thế thực sự nhằm đạt được điều này hoặc khi những tùy chọn gồm sẵn không thành thục - nhưng mà chúng bạn sẽ ít phổ biến hơn những nhà trở nên tân tiến sẽ tin bạn.

Bên cạnh đó, tại sao bạn muốn dành thời gian giải quyết các vấn đề đã được giải quyết? Vâng, đó là một trong cách tuyệt vời để học nhưng mà bạn cấm kị điều đó với ngân sách chi tiêu cho giải pháp phù hợp cho mã sản xuất, đó là vấn đề mà tôi mang lại rằng họ đang nói đến.

Tất nhiên phát minh sáng tạo lại bánh xe cộ một cách bất chợt, vì chưng sự không hiểu biết và kiêu ngạo có thể là một điều xấu, tuy vậy IMHO bé lắc vẫn vung quá xa. Gồm một lợi thế không hề nhỏ khi bao gồm một bánh xe tiến hành chính xác gần như gì bạn muốn và không tồn tại gì nữa .

Thông hay khi tôi nhìn vào một bánh xe hiện nay có, nó sẽ hoạt động nhiều hơn tôi cần, chịu đựng hiệu ứng gốc rễ bên trong, và vị đó tinh vi không cần thiết, hoặc nó thiếu một vài tính năng chủ yếu mà tôi làm đề nghị và điều này sẽ khó tiến hành trên đầu trang của những gì sẽ có.

Hơn nữa, sử dụng những bánh xe hiện bao gồm thường thêm những ràng buộc cho dự án của tôi nhưng mà tôi không muốn. Ví dụ:

Bánh xe lúc này yêu cầu một ngôn ngữ và/hoặc phong thái lập trình không giống với phương pháp tôi hy vọng sử dụng.Bánh xe lúc này chỉ hoạt động với phiên phiên bản kế vượt của một ngôn từ (ví dụ: Python 2 thay bởi Python 3).Trong ngôi trường hợp tất cả sự tấn công đổi giữa hiệu quả, tính linh hoạt và sự 1-1 giản, bánh xe hiện tại sẽ gửi ra các lựa lựa chọn không tối ưu đến trường hợp sử dụng của tôi. (Tôi được biết là đã phát minh sáng tạo lại ngay cả công dụng từ những thư viện mà ban sơ tôi đang tự viết trong những trường phù hợp này. Thông thường là vì tôi đang viết phiên phiên bản thư viện của hàm là phổ biến chung và kết quả một giải pháp hợp lý, lúc tôi hiện buộc phải một thứ nào đấy rất nhanh trong ví dụ của tôi ngôi trường hợp.)Bánh xe lúc này có vô số hành trình kế thừa trọn vẹn vô dụng vào trường hợp mã mới nhưng cho dù sao cũng khiến cuộc sống trở nên khó khăn (ví dụ, thư viện a Java tôi sử dụng buộc tôi bắt buộc sử dụng các lớp container nhảm nhí của nó vị nó đã có được viết trước lúc khái quát, vv).Cách mô hình bánh xe hiện tại vấn đề hoàn toàn khác so với phần đông gì thuận lợi cho trường hợp thực hiện của tôi. (Ví dụ: rất có thể thuận tiện mang đến tôi khi gồm một biểu trang bị được lý thuyết được bộc lộ bởi các đối tượng người dùng và tham chiếu nút nhưng lại bánh xe bây giờ sử dụng ma trận kề hoặc ngược lại. Rất có thể tôi thuận tiện để sắp xếp dữ liệu của bản thân theo sản phẩm công nghệ tự chính của cột, cơ mà bánh xe bây giờ nhấn rất mạnh tay vào hàng chủ yếu hoặc ngược lại.)Thư viện thêm một sự dựa vào lớn, dễ dàng vỡ sẽ là 1 trong những rắc rối bự để bắt đầu và chạy ở hầu như nơi tôi muốn thực thi mã của mình, khi tất cả những gì tôi cần là một tập hợp nhỏ tuổi các chức năng của nó. Mặt khác, vào trường thích hợp này đôi khi tôi chỉ trích xuất công dụng tôi muốn vào trong 1 thư viện mới, nhỏ dại hơn hoặc chỉ sao chép/dán nếu như thư viện là nguồn mở và các đại lý mã hóa khiến cho việc đó đủ solo giản. (Tôi thậm chí còn đã làm điều này với những thư viện tương đối lớn Tôi vẫn tự viết, ko chỉ cho những người khác.)Các bánh xe hiện tại nỗ lực tuân thủ theo cách thức giáo dục với một số trong những tiêu chuẩn chỉnh vừa phiền toái vừa không tương quan đến trường hợp sử dụng của tôi.Thường thì tôi thực hiện của riêng biệt mình bởi tôi đã thành lập nó trước khi tôi phát hiện nay ra chiếc đã có từ trước và tôi quá lười để đi tìm kiếm và thay thế mọi ngôi trường hợp. Bên cạnh ra, tôi trọn vẹn hiểu phương pháp của riêng mình trong những khi tôi rất có thể không hiểu phương pháp tồn trên từ trước. Và cuối cùng, vị tôi không hiểu không thiếu về chiếc đã tồn tại trước đó, tôi cấp thiết xác minh rằng nó trọn vẹn làm đầy đủ thứ nhưng mà cái lúc này của tôi làm.

Có rất nhiều mã nhằm viết mã và tôi không có tương đối nhiều thời gian để quay lại và mã hóa lại một cái nào đấy trừ khi nó tác động đến sản xuất.

Trên thực tế, một áp dụng web asp vẫn được sử dụng ngày này có biểu đồ gia dụng đầy đủ công dụng hiển thị tài liệu theo format bảng và được cho phép sắp xếp/chỉnh sửa, tuy nhiên nó ko phải là một trong biểu dữ liệu. Nó được kiến thiết vài thời gian trước khi tôi new học asp.net và do dự về datagrids. Tôi hơi hại mã vì chưng tôi không biết tôi đang làm gì lúc đó, nhưng mà nó hoạt động, bao gồm xác, dễ dàng sửa đổi, không biến thành sập và người dùng thích nó

Có hay không phát minh lại bánh xe là 1 điều bỏ ra phí/lợi ích. Giá thành khá ví dụ ...Phải mất không hề ít thời gian để gia công lại.Nó thậm chí là còn mất quá nhiều thời gian hơn để lưu lại những gì chúng ta đã phát minh ra.Bạn thiết yếu thuê những người dân đã hiểu hầu hết gì bạn đã sáng tạo ra.Tất cả hầu hết quá dễ ợt để sáng tạo lại một cái gì đó tồi tệ, khiến ra chi phí liên tục cho những vấn đề gây ra bởi kiến thiết xấu.Mã mới tức là lỗi mới. Mã cũ hay đã loại bỏ đa số các lỗi và hoàn toàn có thể có cách xử lý tinh tế cho những vấn đề bạn không biết và cho nên vì thế không thể hạn chế trong xây cất mới.

Điều ở đầu cuối rất đặc trưng - bao gồm một bài bác đăng bên trên blog nơi đâu đó chú ý về xu hướng "vứt mã cũ đi và ban đầu lại từ đầu" trên cơ sở rất nhiều hành trình cũ mà lại bạn không hiểu biết là lỗi thực sự nên thiết. Gồm một mẩu truyện cảnh báo về Netscape, IIRC.

Những lợi thế hoàn toàn có thể là ...

Khả năng thêm những tính năng mà những thư viện hiện bao gồm không có. Ví dụ, tôi có những thùng đựng "duy trì" những trường vừa lòng lặp/con trỏ của chúng. Chèn và xóa không làm mất đi hiệu lực các vòng lặp. Một trình vòng lặp trỏ vào trong 1 vectơ sẽ tiếp tục trỏ mang lại cùng một mục (không bắt buộc cùng chỉ mục) bất kể các phần chèn cùng xóa trước kia trong vectơ. Bạn chỉ dễ dàng là chẳng thể làm điều này với các thùng cất C++ tiêu chuẩn.Một xây đắp chuyên biệt rộng nhắm vào những yêu cầu ví dụ của chúng ta và tôn trọng các ưu tiên của bạn (nhưng hãy cẩn trọng với xu thế về hiệu ứng nền tảng gốc rễ bên trong).Kiểm soát trọn vẹn - một trong những bên thứ ba không thể quyết định thiết kế lại API theo cách có nghĩa là bạn đề xuất viết lại một nửa áp dụng của mình.Hiểu không thiếu thốn - bạn đã kiến tạo nó theo cách đó, bởi vì vậy bạn hy vọng hoàn toàn hiểu phương pháp và vì sao tại sao các bạn làm như vậy. CHỈNH SỬA bạn cũng có thể học các bài học từ các thư viện khác mà không trở nên mắc vào cùng một bẫy bằng phương pháp chọn lọc về phong thái bạn bắt trước chúng.

Một điều - sử dụng thư viện của mặt thứ ba rất có thể được tính là phát minh sáng tạo lại bánh xe. Nếu bạn đã sở hữu thư viện cổ xưa, được áp dụng tốt, được bình chọn tốt, hãy cân nhắc cẩn thận trước khi loại bỏ nó để áp dụng thư viện của mặt thứ ba thay thế. Nó hoàn toàn có thể là một ý tưởng giỏi trong thời hạn dài - nhưng có thể có một lượng lớn công việc và rất nhiều bất ngờ khó chịu đựng (từ sự khác hoàn toàn ngữ nghĩa tinh tế và sắc sảo giữa những thư viện) trước khi bạn đến đó. Ví dụ, hãy coi xét ảnh hưởng của việc tôi đưa từ các thùng chứa của riêng mình sang những thư viện tiêu chuẩn. Một phiên bản dịch ngây thơ của mã hotline sẽ không chất nhận được thực tế là những bộ đựng thư viện tiêu chuẩn chỉnh không bảo trì các trình lặp của chúng. Những trường hợp kế tiếp tôi giữ một trình lặp để triển khai "dấu trang" cần thiết được thực hiện bằng phương pháp sử dụng một bạn dạng dịch dễ dàng - Tôi cần một trong những phương tiện thay thế sửa chữa không bình bình để chỉ ra những vị trí vết trang.

Tôi hiện tại đang làm việc cho một loạt những cheapskates.

Khi quyết định được chỉ dẫn giữa "xây dựng hoặc mua", thay bởi đưa ra quyết định hợp lý dựa trên khiếp tế, các nhà quản lý đã lựa chọn "xây dựng". Điều này có nghĩa là thay vì trả vài ngàn đô la cho 1 thành phần hoặc công cụ, công ty chúng tôi dành các tháng để xây dựng công trình xây dựng của riêng rẽ mình. Mua một bánh xe xuất phát điểm từ 1 công ty không giống sẽ tiêu hao tiền từ chi phí - vốn được xem vào những khoản thưởng cuối năm không chính đáng. Thời hạn của thiết kế viên là miễn mức giá và cho nên vì thế không được xem vào tiền thưởng cuối năm (với lợi ích bổ sung là khiến cho các xây dựng viên không dứt mọi sản phẩm "đúng hạn"), vì thế một bánh xe được phát minh sáng tạo lại là một bánh xe pháo miễn giá thành .

Trong một công ty hợp lý, túi tiền so với tác dụng của việc mua bánh xe pháo do fan khác tạo ra so với việc sáng tạo lại bánh xe của bản thân mình sẽ dựa trên chi tiêu ngắn hạn và dài hạn, cũng như chi phí cơ hội bị mất vì bạn ta không thể tạo nên các đồ dụng mới trong khi một phát minh lại bánh xe. Mỗi ngày bạn dành để phát minh sáng tạo lại bánh xe là một trong những ngày khác các bạn không thể viết một cái gì đó mới.

Trình bày về thi công so với tải . Nội dung bài viết về sản xuất so với mua .

nếu như tôi thấy ai đó ví dụ đang phát minh sáng tạo lại bánh xe bằng cách xây dựng phương pháp riêng của họ về một thứ đã được tích đúng theo vào ngôn ngữ/khung. Đầu tiên, đối với các đối số, hãy giả sử rằng cách tiến hành của họ công dụng như cách thức được xây dựng. Ngoại trừ ra, công ty phát triển, dấn thức được cách tiến hành tích vừa lòng sẵn, thích cách thức riêng của mình.

vì sao anh ta nên áp dụng cái được tích hòa hợp trên mẫu của mình?

Phiên phiên bản tích vừa lòng sẽ có tương đối nhiều người đập vào nó - vì đó, việc tìm và sửa các lỗi hơn mã homebrew của chúng ta cũng có thể có.

Cuối cùng, khi nhà cải cách và phát triển địa phương của người sử dụng rời đi và bạn khác phải bảo trì mã cơ mà anh ta sẽ viết, nó sẽ được tái cấu tạo hoàn toàn và thay thế bằng mã trong khuôn khổ Tôi biết điều này sẽ xảy ra cũng chính vì chủ nhân lúc này của tôi gồm mã đang được đưa sang các phiên bạn dạng mới hơn của VB trong số những năm qua (sản phẩm nhiều năm nhất đã xuất hiện trên thị phần khoảng trăng tròn năm) và đó là những gì Nhà phát triển có việc làm lâu độc nhất vô nhị trong văn phòng của tôi đã ở chỗ này 17 năm.

Vấn đề của việc phát minh lại bánh xe là thỉnh thoảng không tất cả bánh xe pháo tiêu chuẩn, sẵn bao gồm sẽ làm phần đông gì bạn cần. Có rất nhiều bánh xe tốt ngoài kia, với không ít kích cỡ, color sắc, vật liệu và thủ tục xây dựng. Nhưng một trong những ngày bạn chỉ cần có một bánh xe thực thụ nhẹ, sẽ là nhôm anot hóa màu xanh da trời lá cây, và không có ai làm được. Vào trường đúng theo đó, bạn phải tạo cho riêng mình.

Bây giờ chưa phải nói rằng chúng ta nên tự có tác dụng bánh xe mang lại mọi dự án công trình - phần nhiều mọi đồ vật đều rất có thể sử dụng các phần tử tiêu chuẩn chỉnh và tốt hơn mang đến nó. Nhưng mà thỉnh thoảng, bạn thấy rằng các bộ phận tiêu chuẩn không hoạt động, bởi vậy bạn tạo cho riêng mình.

Điều đặc biệt quan trọng nhất là biết lúc NÀO để gia công cho riêng biệt bạn. Bạn phải có một ý tưởng giỏi về đầy đủ gì các thành phần tiêu chuẩn có thể làm, và hồ hết gì bọn họ không thể, trước lúc bạn bước đầu thiết kế của riêng biệt bạn.

Trở nên "xấu" hay thậm chí là "xấu xa" là các từ khá bạo dạn mẽ.

Như những khi, tất cả những tại sao để lựa chọn triển khai cá thể so cùng với tích phù hợp sẵn. Vào thời xưa, một lịch trình C bao gồm thể gặp gỡ phải lỗi trong thư viện thời hạn chạy, và do đó, đơn giản và dễ dàng đề nghị hỗ trợ triển khai riêng.

Điều này không áp dụng cho Java chương trình vị JVM được xác định rất nghiêm ngặt, nhưng một trong những thuật toán vẫn rất cực nhọc để hiểu đúng. Lấy ví dụ Joshua Bloch mô tả bí quyết thuật toán tra cứu kiếm nhị phân dễ dàng lừa dối vào Java thư viện thời gian chạy bao gồm lỗi, đề xuất mất chín năm để xuất hiện:

http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-gầnly.html

Nó đã có tìm thấy, thắt chặt và cố định và phân phối trong tương lai Java phân phối.

Nếu bạn thực hiện tìm tìm nhị phân dựng sẵn, bạn vừa huyết kiệm thời gian và tiền bạc bằng phương pháp nhờ Sun thực hiện các bước tìm kiếm, thay thế và cung cấp lỗi này. Bạn có thể tận dụng công việc của chúng ta chỉ bằng cách nói "bạn cần ít nhất Java 6 cập nhật 10".

Nếu bạn sử dụng tiến hành của riêng bản thân - rất rất có thể cũng gồm lỗi này - trước hết bạn cần có lỗi để tự thể hiện. Vày điều này đặc trưng chỉ hiển thị trên những bộ dữ liệu LARGE, điều này chắc chắn sẽ xẩy ra trong sản xuất nơi đâu đó, có nghĩa là ít độc nhất một khách hàng của bạn sẽ bị tác động và rất có thể mất tiền thiệt trong khi chúng ta tìm, sửa và triển lẵm lỗi.

Xem thêm: Mentor Nghĩa Là Gì ? Tại Sao Bạn Lại Cần Có Một Mentor Cho Riêng Bản Thân?

Vì vậy, nó trọn vẹn hợp lệ để thích triển khai của riêng bạn, tuy nhiên lý do giỏi hơn là thực sự tốt, vì nó chắc chắn là sẽ đắt hơn so cùng với tận dụng các bước của fan khác.