The use of existing code for creating new software.

learn more… | top users | synonyms

53
votes
8answers
2k views

Best practices for sharing tiny snippets of code across projects

I always try to follow the DRY principle strictly at work; every time I've repeated code out of laziness it bites back later when I need to maintain that code in two places. But often I write small ...
43
votes
8answers
5k views

Why shouldn't classes be designed to be “open”?

When reading various Stack Overflow questions and others' code the general consensus of how to design classes is closed. This means that by default in Java and C# everything is private, fields are ...
41
votes
7answers
2k views

How do you keep track of what classes and functions your team has written?

When working on code, I face many of the same challenges that my teammates do, and I have written some helpful functions and classes, and so have they. If there is good communication, I'll hear about ...
32
votes
9answers
855 views

How do I overcome paralysis by analysis when coding?

When I start a new project, I often times immediately start thinking about the details of implementation. "Where am I gonna put the DataBaseHandler? How should I use it? Should classes that want to ...
30
votes
17answers
4k views

Does OOP fulfill the promise of code reuse? What alternatives are there to achieve code reuse?

Perhaps the greatest promise of using object-oriented paradigm is the code reuse. Some dispute that this was achieved. Why was it (not) achieved? Does code reuse as OOP defines it, make projects more ...
26
votes
16answers
1k views

Do you have your own 'misc utils' library? What part are you most proud of? [closed]

I know that many of us maintain our own little personal library with tools and utilities that we use often. I've had mine since I was 16 years old so it has grown to quite a considerable size. Some ...
26
votes
9answers
1k views

What's your view on using other people's code?

As per this question: I decided to implement the BitTorrent spec to make my own client/tracker. Now, I was going through the spec, I was about 70% done implementing the BEncoding when I found a link ...
25
votes
11answers
2k views

Is it wrong to take code you have produced at work and re-use it for personal projects?

Throughout my various workplaces and through my university life I always wrote code which I thought "this would be really useful in generic situations". Indeed, I intentionally write code, even if it ...
23
votes
5answers
1k views

Are there any actual case studies on rewrites of software success/failure rates?

I've seen multiple posts about rewrites of applications being bad, people's experiences about it here on Programmers, and an article I've ready by Joel Spolsky on the subject, but no hard evidence or ...
22
votes
10answers
1k views

Does heavy library and code snippet usage make you a bad programmer?

Overall I'm in programming for about 8 years now and it seems to me that I'm relying more and more on open source libraries and snippets (damn you GitHub!) to "get the job done". I know that in time I ...
20
votes
6answers
2k views

Is it legal to reuse code in other customers' projects?

I'm working as a independent software developer for mobile applications. A customer asks me to develop a mobile app. So at the moment I'm calculating the time and effort to write an offer for this ...
17
votes
8answers
996 views

Adding complexity to remove duplicate code

I have several classes that all inherit from a generic base class. The base class contains a collection of several objects of type T. Each child class needs to be able to calculate interpolated ...
15
votes
7answers
442 views

How do you structure your shared code so that it is “re-findable” for new developers?

I started working at my current job about 8 months ago, and its been one of the best experiences I've had as a young programmer. It's a small company, and both my co-developers are brilliant guys. ...
15
votes
4answers
397 views

Does “don't reinvent the wheel” ignore the limits of human memory?

One thing working in Haskell and F# has taught me is that someone in a university smarter than me has probably already found an abstraction for what I'm doing. Likewise in C# and object-oriented ...
14
votes
11answers
593 views

Have objects delivered in terms of code reuse?

I have often heard it said that objects have not delivered in terms of code reuse. Do you agree? If you believe that they haven't, why not?
14
votes
3answers
591 views

What did Rich Hickey mean when he said, “All those interfaces kill your reuse!”

In Rich Hickey's thought-provoking goto conference keynote "The Value of Values" at 29 minutes he's talking about the overhead of a language like Java and makes the statement, "All those interfaces ...
12
votes
5answers
745 views

I released open source code that is useable to other programmers. How do I let them know about it?

I have a tiny project (<1k but let's say its <5k of lines). I made it open source and put it on github. I did this once before and I didn't get a single download nor fork but that was very ...
12
votes
4answers
382 views

How to promote code reuse and documentation?

As a team lead of about 10+ developers, I would want to promote code reuse. We have written a lot of code-- a lot of them are repetitive over the past few years. The problem now is that a lot of these ...
10
votes
7answers
640 views

Rule of thumb for cost vs. savings for code re-use [duplicate]

Is it a good rule of thumb to always write code for the intent of re-using it somewhere down the road? Or, depending on the size of the component you are writing, is it better practice to design it ...
10
votes
2answers
316 views

What ever happened to the Defense Software Reuse System (DSRS)?

I've been reading some papers from the early 90s about a US Department of Defense software reuse initiative called the Defense Software Reuse System (DSRS). The most recent mention of it I could find ...
8
votes
3answers
403 views

Reinventing the wheel because it doesn't exist

One of the languages I have to use at work is a very small, niche language called psl. One of the largest complaints I have about it as a language is that the libraries are very limited. While that's ...
8
votes
1answer
245 views

Using my own code in freelance projects

I have been into freelance business for more than 2 years. While doing projects for other people, I've build a compilation of common tasks that I implement in projects and put them into code. It's ...
7
votes
5answers
828 views

Is code duplication a necessary evil in C?

I'm rather new to C, and I'm wondering if code duplication is a necessary evil when it comes to writing common data structures and C in general? I could try to write a generic implementation for a ...
7
votes
8answers
541 views

Quality vs Time

I have heard of developers who work with code which is a complete mess because originally the code was quickly developed and the quality was not there in the first place. Its always good to get ...
7
votes
8answers
368 views

How to refactor while keeping accuracy and redundancy?

Before I ask this question I will preface it with our environment. My team consists of 3 programmers working on multiple different projects. Due to this, our use of testing is mostly limited to very ...
7
votes
4answers
983 views

Abstract methods vs instance variables for reusable objects

I have quite a bit of Java code that I'm re-working to be re-used. The problem is that there are many pieces that are project specific so there are ends up being a higher level of coupling between ...
7
votes
8answers
468 views

What counts as reinventing the wheel?

Do the following scenarios count as "reinventing the wheel" in your book? A solution exists, but not in the language you want to use, and existing solutions can't be interfaced with the language you ...
7
votes
4answers
171 views

Advice/Approach for distilling homogenous code and building common code for a team

I work for the State of California. Our programming team in my opinion is not really a 'team' in that we usually work solo on projects throughout the application/systems complete life-cycle. The end ...
6
votes
8answers
334 views

What should be done with code that has reached end of life?

When a project has reached end of life and is being retired, either because the technology is obsolete, a newer version of the program has been rewritten, or it no longer solves a problem that is ...
6
votes
4answers
605 views

How to deal with code reuse philosophy?

I constantly find myself thinking about code reuse when starting a new project. To what extent should I make my code reusable? Should I limit it to the application scope or should I make it reusable ...
6
votes
8answers
263 views

Should I keep writing my own code, or get in the habit of RE-USING

this is a general question about programming, I hate using other people's code and I find myself coding things in my own way, even the simplest things like a web template, a PHP calendar, or a news ...
6
votes
6answers
2k views

When you use inheritance to reuse code, do you find it too tricky that it swallows the benifits of reuse?

I've been coding for about 8 years, however I still find inheritance is too flexible and sometimes it makes you totally confused with the code you have written. One simplest example would be: ...
6
votes
5answers
309 views

Logistics of code reuse (OOP)

One of the driving points behind OOP is code reuse. I am curious about the actual logistics of this and how others both in team or solo handle it. For example lets say you have 5 projects you have ...
6
votes
7answers
511 views

How can I promote software reuse in a large company? [duplicate]

Take a large company, formed through many iterations of mergers and reorganizations. This company produces lots of different products that are all targeted to a specific industry. Most products share ...
6
votes
5answers
332 views

Successful Common Code Libraries

Are there any processes, guidelines or best practices that can be followed for the successful implementation of a common code libraries. Currently we are discussing the implementation of common code ...
5
votes
4answers
483 views

In what situations is it a bad idea to use open source code for a corporate project?

Are there any situations where it may not be a good idea to use the code of an open source project, even if your company might allow you to do so? Some cases that I think might be valid include: ...
5
votes
4answers
327 views

How to apply one of the OOP concepts (Closed for Modification and Open for extension)?

Days before, I created Question, Quiz, and Main classes. One Quiz has one or more Questions. From the main class I first create Question objects (the constructor accepts an array of numbers). The Quiz ...
5
votes
4answers
232 views

Architecture suggestions on a multi-project multi-database 'intranet'

Here is the situation I have inherited: We have approximately 10 websites (Asp.net web forms) that each have their own database. Each of these databases houses some site specific data, and each has ...
5
votes
1answer
284 views

Source of this quote about code reusage? [closed]

does someone know where this quote comes from? I don't know it literally, but I know what is is about. Something like: Writing code more than once is a waste of energy and creativity. I think ...
4
votes
7answers
655 views

What exactly is OO reuse?

And why is it often talked about? Like I know what OO programming is obviously... but people always say "Oh OO reuse is the biggest programming myth ever". What exactly does this mean?
4
votes
7answers
647 views

Why don't software libraries solve all our problems? [closed]

Modular programming and reusable software routines have been around since the early 1960's, if not earlier. They exist in every programming language. Conceptually, a software library is a list of ...
4
votes
2answers
289 views

What is 'code skew'?

In the O'Reilly book on Scala, I read that copy-pasting of code creates: ... creates issues of code-bloat, maintainability and skew, I can't see any obvious definitions of the word skew in ...
4
votes
6answers
340 views

Code reuse: Reusing complex method vs. cherry-picking parts

I am currently facing a situation where I am not quite sure how to best proceed. Background I am planning a new data import process, which will import personnel and salary information from a text ...
4
votes
6answers
484 views

When is a 'core' library a bad idea?

When developing software, I often have a centralised 'core' library containing handy code that can be shared and referenced by different projects. Examples: a set of functions to manipulate strings ...
4
votes
3answers
175 views

Should public code libraries I have written stay free and open after using them in a contract / commercial product?

I have written a small library of classes in my preferred language (PHP, but it doesn't really matter), and typically use them in most of my projects. Until now, the projects have been personal, or ...
4
votes
3answers
261 views

When not to reuse software?

I'm working on an application that had basic requirements for authentication in the first version (i.e. think single administrator login), and now I have a requirement to extend this to allow for ...
4
votes
5answers
367 views

Not Invented Here - what does it take to not succumb to it?

I will start with one, which however did not work the way I wanted. Vendor Evaluation: In the beginning of the project, we spent some time to do a survey of existing open-source libraries that can be ...
3
votes
3answers
302 views

What's the best way to manage reusable classes/libraries separately?

When coding, I naturally often come up with classes or a set of classes with a high reusability. I'm looking for an easy, straight-forward way to work on them separately. I'd like to be able to easily ...
3
votes
4answers
421 views

Reusable VS clean code - where's the balance?

Let's say I have a data model for a blog posts and have two use-cases of that model - getting all blogposts and getting only blogposts which were written by specific author. There are basically two ...
3
votes
1answer
84 views

Custom templating in a web application

I want to understand the pros and cons in generating dynamic web application controls. The idea is to generate all the controls dynamically based on the database procedure output and populate the ...

1 2