Most Popular
1500 questions
121
votes
25 answers
Is reinventing the wheel really all that bad?
Its common knowledge in programming that reinventing the wheel is bad or evil.
But why is that?
I am not suggesting that it's good. I believe it to be wrong. However, I once read an article that said, if someone is doing something wrong…
JD Isaacks
- 8,936
121
votes
9 answers
Understanding dependency injection
I'm reading about dependency injection (DI). To me, it is a very complicated thing to do, as I was reading it was referencing inversion of control (IoC) as well and such I felt I was going to be in for a journey.
This is my understanding: Instead of…
MyDaftQuestions
- 1,881
121
votes
8 answers
Why does the US government disallow dynamic languages for secure projects?
I know some people that are currently working on a project for the US military (low security level, non-combat human resources type data).
An initial state of the project code was submitted to the military for review, and they ran the program…
Patrick
- 2,922
121
votes
2 answers
What is wrong with the Unlicense?
I have often heard that I should not use the Unlicense because of issues regarding putting things into the public domain. However, I do not understand why this would be an issue for the Unlicense. The Unlicense attempts to put whatever is being…
cgt
- 1,921
- 3
- 14
- 16
120
votes
5 answers
What is the advantage of choosing ASCII encoding over UTF-8?
All characters in ASCII can be encoded using UTF-8 without an increase in storage (both requires a byte of storage).
UTF-8 has the added benefit of character support beyond "ASCII-characters". If that's the case, why will we ever choose ASCII…
Pacerier
- 4,993
120
votes
7 answers
My office wants infinite branch merges as policy; what other options do we have?
My office is trying to figure out how we handle branch splits and merges, and we've run into a big problem.
Our issue is with long-term sidebranches -- the kind where you've got a few people working a sidebranch that splits from master, we develop…
Standback
- 1,310
120
votes
48 answers
I still can't figure out how to program?
I've read lots of books for various programming languages, Java, Python, C, etc. I understand and know all of the basics of the languages and I understand algorithms and data structures. (Equivalent of say two years of computer science classes)
BUT,…
Mark K.
120
votes
18 answers
When should I make the first commit to source control?
I'm never sure when a project is far enough along to first commit to source control. I tend to put off committing until the project is 'framework-complete,' and I primarily commit features from then on. (I haven't done any personal projects large…
Kendall Frey
- 789
- 2
- 8
- 18
120
votes
2 answers
What's wrong with relative imports in Python?
I recently upgraded versions of pylint, a popular Python style-checker.
It has gone ballistic throughout my code, pointing out places where I import modules in the same package, without specifying the full package path.
The new error message is…
Oddthinking
- 1,742
120
votes
11 answers
What backs up the claim that C++ can be faster than a JVM or CLR with JIT?
A reoccurring theme on SE I've noticed in many questions is the ongoing argument that C++ is faster and/or more efficient than higher level languages like Java. The counter-argument is that modern JVM or CLR can be just as efficient thanks to JIT…
Anonymous
- 3,556
- 2
- 25
- 26
120
votes
2 answers
What are the London and Chicago schools of TDD?
I’ve been hearing about the London style vs. Chicago style (sometimes called Detroit style) of Test Driven Development (TDD).
Workshop of Utah Extreme Programming User's Group:
Interaction-style TDD is also called mockist-style, or London-style…
Arturo Herrero
- 1,333
- 2
- 9
- 10
119
votes
8 answers
What to do when code submitted for code review appears to be too complicated?
The code is difficult to follow but it appears to be (mostly) working well, at least with superficial testing. There might be small bugs here and there but it's very hard to tell by reading the code if they are symptomatic of deeper issues or simple…
Bradley Thomas
- 5,100
119
votes
7 answers
Why is Inversion of Control named that way?
The words invert or control are not used at all to define Inversion of Control in the definitions that I've seen.
Definitions
Wikipedia
inversion of control (IoC) is a programming technique, expressed here
in terms of object-oriented programming,…
Korey Hinton
- 2,676
119
votes
13 answers
Why the recent shift to removing/omitting semicolons from Javascript?
It seems to be fashionable recently to omit semicolons from Javascript. There was a blog post a few years ago emphasising that in Javascript, semicolons are optional and the gist of the post seemed to be that you shouldn't bother with them because…
Jonathan
- 1,849
- 2
- 12
- 11
118
votes
6 answers
What is a domain?
I see this term a lot in the context of software architecture ("domain-model", "domain-driven-design" etc.). I have googled it, but I get tons of different definitions. So what is it really?
Michael Haddad
- 2,697