Imagine that you work for a small company with a low level of software. You know that the future competitiveness of the company lies in having a good reusable code base. It will be very important to manage the company’s reuse policy in order to provide you with delivery today, at the same time as ensuring the return goal for the future.
In my mind there are two reasons to write reusable code in business; 1) Share within the company to increase speed and efficiency in the future. 2) Publish on the Internet, and other people will help improve the code (interpretation of the sources in a sense).
Developers should always use common sense for reuse, of course. But to understand this from a management point of view, I want some general rules for reusing code to ensure that we are competitive now and in the future. These recommendations should encourage the developer to ask: "Is my code a candidate for reuse?" What should these recommendations indicate?
My initial thoughts: it’s not worth writing reusable code at the lowest levels (for example, I have some built-in code that adds an “s” to the end of the line), there would be too much of this code to sift through and find that someone I already did it. It is also not worth it to write reusable code at the highest level, that is, an application, because the client reporting application will ultimately be generated in the SQL client - it is useless to most users.
The main obstacles to code reuse: you cannot reuse it if you do not know that it exists; Trust - it is made, but do you trust it ?; The initial time taken to make the code shared / reusable (and document it).