Most Popular

1500 questions
159
votes
20 answers

How to keep a big and complex software product maintainable over the years?

I have been working as a software developer for many years now. It has been my experience that projects get more complex and unmaintainable as more developers get involved in the development of the product. It seems that software at a certain stage…
chrmue
  • 681
158
votes
34 answers

How do you make people accept code review?

All programmers have their style of programming. But some of the styles are let’s say... let’s not say. So you have code review to try to impose certain rules for good design and good programming techniques. But most of the programmers don’t like…
user7197
158
votes
15 answers

When is it appropriate to not unit test?

I work in a small company as a solo developer. I'm the only developer at the company in fact. I have several (relatively) large projects I've written and maintain regularly, and none of them have tests to support them. As I begin new projects I…
Ken Pespisa
  • 1,903
158
votes
8 answers

How do you organize your projects?

Do you have any particular style of organizing projects? For example, currently I'm creating a project for a couple of schools here in Bolivia, this is how I organized it: TutoMentor (Solution) TutoMentor.UI (Winforms project) TutoMentor.Data…
Sergio
158
votes
9 answers

Which HTTP verb should I use to trigger an action in a REST web service?

I am implementing a RESTful web service and one of the available actions will be reload. It will be used to reload configurations, cache, etc. We started with a simple GET to an URI like this: ${path}/cache/reload (no parameters are passed, only the…
157
votes
19 answers

How to Code Faster (Without Sacrificing Quality)

I've been a professional coder for a several years. The comments about my code have generally been the same: writes great code, well-tested, but could be faster. So how do I become a faster coder, without sacrificing quality? For the sake of this…
ashes999
  • 1,129
  • 5
  • 12
  • 22
157
votes
15 answers

Where does this concept of "favor composition over inheritance" come from?

In the last few months, the mantra "favor composition over inheritance" seems to have sprung up out of nowhere and become almost some sort of meme within the programming community. And every time I see it, I'm a little bit mystified. It's like…
Mason Wheeler
  • 82,789
157
votes
13 answers

If my team has low skill, should I lower the skill of my code?

For example, there is a common snippet in JS to get a default value: function f(x) { x = x || 'default_value'; } This kind of snippet is not easily understood by all the members of my team, their JS level being low. Should I not use this trick…
157
votes
8 answers

Do you have to include a license notice with every source file?

I've been looking for various licenses that I can use for an open-source project of mine, but all of the projects that I've seen, with all kinds of licenses, appear to have a giant, obnoxious (in my opinion) notice in each source file that states…
RétroX
  • 1,851
156
votes
7 answers

Was the C programming language considered a low level language when it came out?

Currently C is considered a low level language, but back in the 70's was it considered low level? Was the term even in use then? Many popular higher level languages didn't exist until the mid 80's and beyond so I'm curious if and how the nature of…
joeyfb
  • 1,259
156
votes
15 answers

Why do we use story points instead of man days when estimating user stories?

In agile methodologies (e.g. SCRUM), the complexity/effort needed for user stories are measured in Story points. Story points are used to calculate how many user stories a team can take in an iteration. What is the advantage of introducing an…
Louis Rhys
  • 6,122
154
votes
11 answers

When do you write the "real" code in TDD?

All the examples I've read and seen on training videos have simplistic examples. But what I don't see if how I do the "real" code after I get green. Is this the "Refactor" part? If I have a fairly complex object with a complex method, and I write…
johnny
  • 3,679
154
votes
11 answers

Is my work on a developer test being taken advantage of?

I am looking for a job and have applied to a number of positions. One employer responded. I had a pretty lengthy phone interview (perhaps an hour +) and they then set me up with a developer test. I was told that the test was estimated to take…
CodeWarrior
  • 1,253
154
votes
22 answers

Stuck due to "knowing too much"

Note more discussion at http://news.ycombinator.com/item?id=4037794 I have a relatively simple development task, but every time I try to attack it, I end up spiraling in deep thoughts - how could it extending the future, what are the 2nd generation…
Ran Biron
  • 457
154
votes
50 answers

My boss wants a narrated line-by-line English explanation of our code

I have been specifically asked to give line by line (or as appropriate - for example, image by image, etc.) explanation or commentary which my boss wants to be able to read and follow. Since he is not a programmer, he can not follow the code so…