Most Popular

1500 questions
466
votes
19 answers

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 years cobbling together a vast code base. (It was…
kmote
  • 3,322
  • 6
  • 24
  • 33
458
votes
22 answers

My customer wants me to record a video of how I develop his software product

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 things during preliminary negotiations, so it's…
Arseni Mourzenko
  • 134,780
  • 31
  • 343
  • 513
454
votes
12 answers

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 I have a User that has debt. I want to change his debt.…
Jeroen Vannevel
  • 5,736
  • 6
  • 18
  • 27
432
votes
20 answers

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 aware of the fact that UTF-16 is actually a variable…
Artyom
  • 2,079
  • 4
  • 17
  • 17
431
votes
34 answers

I'm a manager. How can I improve work relationships and communication with programmers?

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 switched over to management. That proved to be a good…
AgentSmith
  • 201
  • 3
  • 4
  • 7
424
votes
33 answers

How do I create my own programming language and a compiler for it

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't understand how people create programming…
Dave
  • 261
  • 3
  • 4
  • 4
422
votes
17 answers

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 understanding, "Don't use global variables", or…
Madara's Ghost
  • 8,787
  • 9
  • 25
  • 33
421
votes
12 answers

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. My rationale for this is that the build should…
MattDavey
  • 7,096
  • 3
  • 31
  • 32
416
votes
8 answers

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 source control concepts. What does 'stage' mean in the…
000
  • 4,525
  • 4
  • 16
  • 16
398
votes
5 answers

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 compelling reason for me to keep my repository…
Brant Bobby
  • 4,528
  • 4
  • 24
  • 22
394
votes
14 answers

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?
M.Sameer
  • 1,374
  • 4
  • 11
  • 20
390
votes
35 answers

Why isn't Java used for modern web application development?

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 percentage of them appears to be using Java…
Cliff
  • 590
  • 3
  • 6
  • 12
386
votes
29 answers

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 your spare time, write smartphone apps, etc. In fact…
not-my-real-name
  • 171
  • 3
  • 3
  • 4
367
votes
28 answers

I'm doing 90% maintenance and 10% development, is this normal?

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 programmers over the years, handles the same tasks in…
TiredProgrammer
  • 321
  • 3
  • 5
  • 7
355
votes
19 answers

How would you know if you've written readable and easily maintainable code?

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 author wrote it and edited it, to begin with. However,…
KyelJmD
  • 971
  • 5
  • 10
  • 20