Most Popular

1500 questions
160
votes
8 answers

Developing web applications for long lifespan (20+ years)

I'm currently developing a web application for government land planning. The application runs mostly in the browser, using ajax to load and save data. I will do the initial development, and then graduate (it's a student job). After this, the rest of…
Dan
  • 1,508
159
votes
17 answers

Windows Azure vs Amazon EC2 vs Google App Engine

From a developer point of view which platform would you consider for a large social web application? If you could provide some details on what you consider to be the strengths of which alternative it would be great.
iulianchira
159
votes
6 answers

SOLID Principles and code structure

At a recent job interview, I couldn't answer a question about SOLID -- beyond providing the basic meaning of the various principles. It really bugs me. I have done a couple of days worth of digging around and have yet to come up with a satisfactory…
S-Unit
  • 1,397
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
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
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
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
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
  • 83,213
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
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,182
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
  • 2
  • 9
  • 9
156
votes
7 answers

Working on a branch with a dependence on another branch that is being reviewed

How does git help deal with the scenario below: I have a task broken down into 2 parts: backend task and frontend task. I make a pull request to merge the backend changes and wait for it to be merged (and address feedback). While waiting, I can't…
sul4bh
  • 1,751
  • 2
  • 11
  • 11
156
votes
10 answers

Should we define types for everything?

Recently I got into a problem with the readability of my code. I had a function that did an operation and returned a string representing the ID of this operation for future reference (a bit like OpenFile in Windows returning a handle). The user…
Ziv
  • 3,106
155
votes
9 answers

Is there any "real" reason multiple inheritance is hated?

I've always liked the idea of having multiple inheritance supported in a language. Most often though it's intentionally forgone, and the supposed "replacement" is interfaces. Interfaces simply do not cover all the same ground multiple inheritance…
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