All Questions
62,879
questions
2183
votes
1
answer
481k
views
What technical details should a programmer of a web application consider before making the site public?
What things should a programmer implementing the technical details of a web application consider before making the site public? If Jeff Atwood can forget about HttpOnly cookies, sitemaps, and cross-...
1637
votes
11
answers
818k
views
Which hashing algorithm is best for uniqueness and speed?
Which hashing algorithm is best for uniqueness and speed? Example (good) uses include hash dictionaries.
I know there are things like SHA-256 and such, but these algorithms are designed to be secure,...
1332
votes
14
answers
266k
views
Where did the notion of "one return only" come from?
I often talk to programmers who say "Don't put multiple return statements in the same method." When I ask them to tell me the reasons why, all I get is "The coding standard says so." or "It's ...
1050
votes
130
answers
423k
views
I'm graduating with a Computer Science degree but I don't feel like I know how to program
I'm graduating with a Computer Science degree but I see websites like Stack Overflow and search engines like Google and don't know where I'd even begin to write something like that. During one summer ...
876
votes
357
answers
246k
views
What is the single most effective thing you did to improve your programming skills?
Looking back at my career and life as a programmer, there were plenty of different ways I improved my programming skills - reading code, writing code, reading books, listening to podcasts, watching ...
717
votes
29
answers
135k
views
My boss decided to add a "person to blame" field to every bug report. How can I convince him that it's a bad idea?
In one of the latest "WTF" moves, my boss decided that adding a "Person To Blame" field to our bug tracking template will increase accountability (although we already have a way of tying bugs to ...
707
votes
17
answers
247k
views
How to respond when you are asked for an estimate?
We, as programmers, are constantly being asked 'How long will it take'?
And you know, the situation is almost always like this:
The requirements are unclear. Nobody has done an in depth analysis of ...
671
votes
9
answers
288k
views
Why is 80 characters the 'standard' limit for code width?
Why is 80 characters the "standard" limit for code width? Why 80 and not 79, 81 or 100? What is the origin of this particular value?
611
votes
13
answers
267k
views
So Singletons are bad, then what?
There has been a lot of discussion lately about the problems with using (and overusing) Singletons. I've been one of those people earlier in my career too. I can see what the problem is now, and yet, ...
580
votes
1
answer
75k
views
Is the use of "utf8=✓" preferable to "utf8=true"?
I have recently seen a few URIs containing the query parameter "utf8=✓". My first impression (after thinking "mmm, looks cool") was that this could be used to detect a broken character encoding.
So, ...
577
votes
2
answers
224k
views
What is the Mars Curiosity Rover's software built in?
The Mars Curiosity rover has landed successfully, and one of the promo videos "7 minutes of terror" brags about there being 500,000 lines of code. It's a complicated problem, no doubt. But that is a ...
545
votes
6
answers
203k
views
Pros and Cons of Facebook's React vs. Web Components (Polymer)
What are the main benefits of Facebook's React over the upcoming Web Components spec and vice versa (or perhaps a more apples-to-apples comparison would be to Google's Polymer library)?
According to ...
540
votes
31
answers
121k
views
Why can't the IT industry deliver large, faultless projects quickly as in other industries?
After watching National Geographic's MegaStructures series, I was surprised how fast large projects are completed. Once the preliminary work (design, specifications, etc.) is done on paper, the ...
531
votes
18
answers
465k
views
Is it OK to have multiple asserts in a single unit test?
In the comment to this great post, Roy Osherove mentioned the OAPT project that is designed to run each assert in a single test.
The following is written on the project's home page:
Proper unit ...
468
votes
21
answers
27k
views
Overcoming slow problem solving due to increased knowledge of what might go wrong [closed]
This has been troubling me for some time, and I'd really appreciate the input of other professionals.
Short background: I started programming when my parents bought me my first computer in 1988 (at ...
466
votes
19
answers
195k
views
I've inherited 200K lines of spaghetti code -- what now?
I hope this isn't too general of a question; I could really use some seasoned advice.
I am newly employed as the sole "SW Engineer" in a fairly small shop of scientists who have spent the last 10-20 ...
458
votes
22
answers
102k
views
My customer wants me to record a video of how I develop his software product [closed]
Working as a freelancer, I often see strange requests from my customers, some of which can negatively affect my daily work¹, and others trying to set some sort of control. I usually encounter those ...
454
votes
12
answers
181k
views
How accurate is "Business logic should be in a service, not in a model"?
Situation
Earlier this evening I gave an answer to a question on StackOverflow.
The question:
Editing of an existing object should be done in repository layer or in service?
For example if ...
432
votes
20
answers
131k
views
Should UTF-16 be considered harmful?
I'm going to ask what is probably quite a controversial question: "Should one of the most
popular encodings, UTF-16, be considered harmful?"
Why do I ask this question?
How many programmers are ...
431
votes
34
answers
21k
views
I'm a manager. How can I improve work relationships and communication with programmers? [closed]
A little background first. I'm a project manager at medium-sized company. I started as a CS major and had a little exposure to programming, but after a few months I knew it's not my path, so I ...
424
votes
33
answers
316k
views
How do I create my own programming language and a compiler for it [closed]
I am thorough with programming and have come across languages including BASIC, FORTRAN, COBOL, LISP, LOGO, Java, C++, C, MATLAB, Mathematica, Python, Ruby, Perl, JavaScript, Assembly and so on. I can'...
422
votes
17
answers
170k
views
Why is Global State so Evil?
Before we start this, let me say I'm well aware of the concepts of Abstraction and Dependency Injection. I don't need my eyes opened here.
Well, most of us say, (too) many times without really ...
421
votes
12
answers
19k
views
Should I intentionally break the build when a bug is found in production?
It seems reasonable to me that if a serious bug is found in production by end-users, a failing unit test should be added to cover that bug, thus intentionally breaking the build until the bug is fixed....
417
votes
8
answers
481k
views
What does 'stage' mean in git?
I find git hard to understand as I could not find the meaning of the words used for the actions. I have checked the dictionary for the meaning of 'stage' and none of the meanings were related to ...
398
votes
5
answers
49k
views
Should I keep my GitHub forked repositories around forever?
So I've forked someone else's repository, made a few changes, submitted a pull request, and my changes made it into the product. Great!
But...what should I do with my forked repository? Is there a ...
394
votes
14
answers
487k
views
Why do game developers prefer Windows?
Is it that DirectX is easier or better than OpenGL, even if OpenGL is cross-platform? Why do we not see real powerful games for Linux like there are for Windows?
390
votes
35
answers
638k
views
Why isn't Java used for modern web application development? [closed]
As a professional Java programmer, I've been trying to understand - why the hate toward Java for modern web applications?
I've noticed a trend that out of modern day web startups, a relatively small ...
386
votes
29
answers
148k
views
I don't program in my spare time. Does that make me a bad developer?
A lot of blogs and advice on the web seem to suggest that in order to become a great developer, doing just your day job is not enough. For example, you should contribute to open source projects in ...
367
votes
28
answers
152k
views
I'm doing 90% maintenance and 10% development, is this normal? [closed]
I have just recently started my career as a web developer for a medium sized company. As soon as I started I got the task of expanding an existing application (badly coded, developed by multiple ...
355
votes
19
answers
63k
views
How would you know if you've written readable and easily maintainable code? [closed]
How would one know if the code one has created is easily readable, understandable, and maintainable? Of course from the author's point of view, the code is readable and maintainable, because the ...
351
votes
20
answers
79k
views
How should I behave as a developer in a project that's headed for failure?
I am a developer in a 5-member team and I believe our project is headed for disaster. I'll describe why in a moment, but my question is: how should I behave?
The deadline is in 1.5 months, and I ...
350
votes
6
answers
29k
views
What is negative code?
I was reading the Wikipedia article on Douglas McIlroy and found a quote that mentions
"The real hero of programming is the one who writes negative code."
What does that mean?
342
votes
7
answers
159k
views
Why are there no PUT and DELETE methods on HTML forms?
HTML4 / XHTML1 allows only GET and POST in forms, now it seems like HTML5 will do the same. There is a proposal to add these two but it doesn't seem to be gaining traction.
What were the technical or ...
340
votes
14
answers
92k
views
Should you write your back-end as an API?
I had a heated discussion today about our MVC application. We have a website written in MVC (ASP.NET), and it usually follows the pattern of do something in the view -> hit the controller -> ...
333
votes
19
answers
455k
views
When should you call yourself a senior developer? [duplicate]
Possible Duplicate:
Whats the difference between Entry Level/Jr/Sr developers?
I'm curious what senior developer means because apparently the definition doesn't mean what I thought it would. I ...
330
votes
63
answers
54k
views
Is 4-5 years the “Midlife Crisis” for a programming career?
I’ve been programming C# professionally for a bit over 4 years now. For the past 4 years I’ve worked for a few small/medium companies ranging from “web/ads agencies”, small industry specific software ...
327
votes
15
answers
168k
views
Do I need to use an interface when only one class will ever implement it?
Isn't the whole point of an interface that multiple classes adhere to a set of rules and implementations?
324
votes
52
answers
253k
views
Why do business analysts and project managers get higher salaries than programmers? [closed]
We have to admit that programming is much more difficult than creating documentation or even creating Gantt chart and asking progress to programmers. So for us that are naives, knowing that ...
323
votes
25
answers
76k
views
When is a BIG Rewrite the answer?
Just read the question about the Big Rewrites and I remembered a question that I've been wanting answered myself.
I have a horrible project passed down to me, written in old Java, using Struts 1.0, ...
322
votes
36
answers
370k
views
Should curly braces appear on their own line? [closed]
Should curly braces be on their own line or not? What do you think about it?
if (you.hasAnswer()) {
you.postAnswer();
} else {
you.doSomething();
}
or should it be
if (you.hasAnswer())
{
...
320
votes
4
answers
119k
views
Should package names be singular or plural?
Often, in libraries especially, packages contains classes that are organized around a single concept. Examples: xml, sql, user, config, db. I think we all feel pretty naturally that these packages ...
311
votes
16
answers
134k
views
Why are shortcuts like x += y considered good practice?
I have no idea what these are actually called, but I see them all the time. The Python implementation is something like:
x += 5 as a shorthand notation for x = x + 5.
But why is this considered good ...
311
votes
4
answers
112k
views
What software programming languages were used by the Soviet Union's space program?
I got interested in the Soviet space program and was interested to discover that the software on the Buran spacecraft circa 1988 was written in Prolog.
Does anyone know what languages might have ...
308
votes
16
answers
45k
views
Why does everyone use Git in a centralized manner?
I have used Git at my past two companies for version control. It seems from what I've heard that about 90% of companies use Git over other version control systems.
One of the biggest selling points ...
307
votes
10
answers
42k
views
I'm a Subversion geek, why should I consider or not consider Mercurial or Git or any other DVCS?
I try to understand the benefits of distributed version control system (DVCS).
I found Subversion Re-education and this article by Martin Fowler very useful.
Mercurial and others DVCS promote a ...
305
votes
19
answers
155k
views
Are #regions an antipattern or code smell?
C# allows the use of #region/#endregion keywords to make areas of code collapsible in the editor. Whenever I do this though I do it to hide large chunks of code that could probably be refactored into ...
302
votes
19
answers
224k
views
Should I return from a function early or use an if statement? [closed]
I've often written this sort of function in both formats, and I was wondering if one format is preferred over another, and why.
public void SomeFunction(bool someCondition)
{
if (someCondition)
...
302
votes
5
answers
125k
views
Is there any reason to use the "var" keyword in ES6?
Babel's guide to ES6 says:
let is the new var.
Apparently the only difference is that var gets scoped to the current function, while let gets scoped to the current block. There are some good ...
301
votes
38
answers
98k
views
How Can I Know Whether I Am a Good Programmer?
Like most people, I think of myself as being a bit above average in my field. I get paid well, I've gotten promotions, and I've never had a real problem getting good references or getting a job.
But ...
301
votes
20
answers
113k
views
What does SVN do better than Git? [closed]
No question that the majority of debates over programmer tools distill to either personal choice (by the user) or design emphasis, that is, optimizing design according to particular uses cases (by the ...