Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Code reuse
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Types of reuse== Concerning motivation and driving factors, reuse can be: * Opportunistic β While getting ready to begin a project, the team realizes that there are existing components that they can reuse. * Planned β A team strategically designs components so that they'll be reusable in future projects. Reuse can be categorized further: * Internal reuse β A team reuses its own components. This may be a business decision, since the team may want to control a component critical to the project. * External reuse β A team may choose to license a third-party component. Licensing a third-party component typically costs the team 1 to 20 percent of what it would cost to develop internally.<ref>{{cite book |last=McConnell |first=Steve |title=Rapid Development: Taming Wild Software Schedules |year=1996 |publisher=Pearson Education |isbn=978-1-55615-900-8 |url-access=registration |url=https://archive.org/details/rapiddevelopment00mcco }}</ref> The team must also consider the time it takes to find, learn and integrate the component. Concerning form or structure of reuse, code can be:<ref name="sharednow.blogspot.com">{{cite web |last=Colombo |first=F. |year=2011 |title=It's not just reuse |work=SharedNow.blogspot |url=http://sharednow.blogspot.com/2011/05/its-not-just-reuse.html}}</ref> * Referenced β The client code contains a reference to reused code, and thus they have distinct life cycles and can have distinct versions. * Forked β The client code contains a local or private copy of the reused code, and thus they share a single life cycle and a single version. Fork-reuse is often discouraged because it's a form of code duplication, which requires that every bug is corrected in each copy, and enhancements made to reused code need to be manually merged in every copy or they become out-of-date. However, fork-reuse can have benefits such as isolation, flexibility to change the reused code, easier packaging, deployment and version management.<ref name="sharednow.blogspot.com"/>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)