Most Popular

1500 questions
67
votes
7 answers

Is dependency injection essential for unit testing?

Is using dependency injection (DI) essential for unit testing? I can't think of another alternative for isolating code so it can be tested. Also, all the examples I have ever seen use this pattern. Is that because it is the only viable option or…
Tom Squires
  • 17,755
  • 11
  • 67
  • 88
67
votes
7 answers

Are there open source alternatives to Bitbucket, Github, Kiln, and similar DVCS browsing and management tools?

I am aware of several tools/services that provide DVCS browsing and management such as Bitbucket, Github, Kiln, SCM-Manager and Rhodecode. However, the use case I am considering is one such that: Any source code must reside on an employers internal…
Ryan Taylor
  • 1,026
67
votes
1 answer

What are these different Java versions for?

I am just about to start my Java journey, ( I've already dabbled in C++) but I am getting really confused about all the different versions of Java: JavaSE JavaEE JavaFX etc. Can someone explain these in detail?
Patryk
  • 1,269
67
votes
7 answers

What does artifact mean?

The dictionary defines artifact as: artefact, artifact [ˈɑːtɪˌfækt] n something made or given shape by man, such as a tool or a work of art, esp an object of archaeological interest anything man-made, such as a spurious experimental result (Life…
xyz
  • 1,162
66
votes
17 answers

Why is Lisp useful?

Lisp obviously is an advantage for the AI stuff, but it doesn't appear to me that Lisp is any faster than Java, C#, or even C. I am not a master of Lisp, but I find it incredibly difficult to understand the advantage one would get in writing…
Geek
  • 3,941
66
votes
14 answers

Is it normal for a company to have programmers on such a rigid schedule?

So I've been working at this job for a couple of months. I'm a little frustrated because I do my best work from 2 to 7. In previous jobs, I've come in at 9:30-10:00 and leave at 7. Some companies have been okay with this, others have not. But my…
q303
  • 2,756
66
votes
5 answers

Can you change a license once you pick one?

I am working on a product that I don't feel is completely ready but I have a set of users that are very interested in using it now as "alpha" testers. I would like to give them the product now for free as "alpha" testers, but I would like to later…
Adam
  • 1,073
66
votes
23 answers

Is writing comments inside methods not a good practice?

A friend told me that writing comments inside methods is not good. He said that we should have comments only for the method definitions(javadocs) but not inside the method body. It seems he read in a book that having comments inside the code means…
Srini Kandula
66
votes
10 answers

Is there such a thing as having too many private functions/methods?

I understand the importance of well documented code. But I also understand the importance of self-documenting code. The easier it is to visually read a particular function, the faster we can move on during software maintenance. With that said, I…
Sal Rahman
  • 1,544
66
votes
12 answers

Getting non-programmers to understand the development process

When starting a project for a company that's not primarily a programming company, one of the expectations is that there's a finished product at the end free of all bugs and does everything needed right away. However, that's rarely the case. What…
user8
66
votes
19 answers

Dealing with awful estimates

A recent project I worked on was proven to be severely underestimated by the architect. The estimate was out by at least 500%. Unfortunately I was brought onto the project after the estimate had been signed off with the customer. As senior dev, I…
Ash
  • 817
66
votes
36 answers

What can I do to get better at estimating how long projects are going to take?

I don't want to make life hard for management. I really don't. They're nice enough guys, but every time I am assigned a new project or task and get asked "how long do you think it will take to do this" I end up sputtering off ridiculous…
George Mauer
  • 2,012
66
votes
16 answers

How to avoid logical mistakes in code, when TDD didn't help?

I was recently writing a small piece of code which would indicate in a human-friendly way how old an event is. For instance, it could indicate that the event happened “Three weeks ago” or “A month ago” or “Yesterday.” The requirements were…
66
votes
10 answers

How and why did modern web application frameworks evolve to decouple URL routes from the file system?

Compared to about 10 years ago I have noted a shift towards frameworks using the style of routing that decouples the URL path from the filesystem. This is typically accomplished with the help of a front-controller pattern. Namely, when before, URL…
Dennis
  • 8,217
66
votes
7 answers

How do you transition a program from in-development to release?

At some point a program is in development. Features are being added or removed or changed all the time. Every version is nothing but a prototype. So I don't waste much time on writing super clean code at that point because I never know how long…
NikkyD
  • 735