Most Popular
1500 questions
53
votes
2 answers
Checklist for starting an open-source project
To start an open-source project is not just to throw up the source code on some public repository and then being happy with that. You should have technical (besides user) documentation, information on how to contribute etc.
If creating a checklist…

Anto
- 11,157
- 13
- 67
- 103
53
votes
9 answers
When do you know it's time to move on from your current job?
Have you ever reached a point at your job when you just know it's time to move on?
When do you move to the point that you're willing to let go of the demons you know for the ones you don't know?
What was your deciding factor final straw so to…

Tyanna
- 9,528
- 1
- 34
- 54
53
votes
7 answers
Is it a bad design for a programming language to allow spaces in identifiers?
Some (link 1, link 2) programming languages allow spaces in their identifiers (e.g. variables, procedures) but most of them don't and instead programmers usually use camel case, snake case and other ways to separate words in names.
To support spaces…

user7393973
- 501
- 1
- 4
- 9
53
votes
9 answers
Should you guard against unexpected values from external APIs?
Lets say you are coding a function that takes input from an external API MyAPI.
That external API MyAPI has a contract that states it will return a string or a number.
Is it recommended to guard against things like null, undefined, boolean, etc.…

Adam Thompson
- 1,243
- 1
- 9
- 14
53
votes
4 answers
Ways to share DTO across microservices?
My scenario is as follows.
I am designing a system designed to receive data from various types of sensors, and convert and then persist it to be used by various front-end and analytics services later.
I'm trying to design every service to be as…

foxtrotuniform6969
- 799
- 1
- 7
- 9
53
votes
15 answers
Clean Code: Functions with few parameters
I read the first chapters of Clean Code by Robert C. Martin, and it seems to me it's pretty good, but I have a doubt, in one part it is mentioned that it is good (cognitively) that the functions should have as few parameters as possible, it even…

OiciTrap
- 729
- 1
- 7
- 12
53
votes
11 answers
"Easy to reason about" - what does that mean?
I have heard a lot of times when other developers use that phrase to "advertise" some patterns or developing best practices. Most of the time this phrase is used when you are talking about benefits of functional programming.
The phrase "Easy to…

Fabio
- 3,086
- 1
- 17
- 25
53
votes
7 answers
How can I prevent header hell?
We are starting a new project, from scratch. About eight developers, a dozen or so subsystems, each with four or five source files.
What can we do to prevent “header hell”, AKA “spaghetti headers”?
One header per source file?
Plus one per…

Mawg says reinstate Monica
- 4,142
- 3
- 33
- 51
53
votes
10 answers
Why do mainstream strong static OOP languages prevent inheriting primitives?
Why is this OK and mostly expected:
abstract type Shape
{
abstract number Area();
}
concrete type Triangle : Shape
{
concrete number Area()
{
//...
}
}
...while this is not OK and nobody complains:
concrete type Name :…

Den
- 4,827
- 2
- 32
- 48
53
votes
10 answers
Should we avoid custom objects as parameters?
Suppose I have a custom object, Student:
public class Student{
public int _id;
public String name;
public int age;
public float score;
}
And a class, Window, that is used to show information of a Student:
public class Window{
…

ggrr
- 5,725
- 11
- 35
- 37
53
votes
4 answers
What is the difference between a hash and a dictionary?
What is the difference between Hash and Dictionary?
Coming from a scripting background, I feel that they are similar, but I wanted to find out the exact differences. Googling did not help me much.

Sairam
- 641
- 1
- 5
- 8
53
votes
8 answers
Is it good that testers are competing to see who opens more bugs?
I'm a software developer. There is a team of testers who follow and run test cases written by the analyst, but also perform exploratory testing. It seems like the testers have been competing to see who opens more bugs, and I've noticed that the…

Only a Curious Mind
- 697
- 5
- 10
53
votes
6 answers
How do languages with Maybe types instead of nulls handle edge conditions?
Eric Lippert made a very interesting point in his discussion of why C# uses a null rather than a Maybe type:
Consistency of the type system is important; can we always know that a non-nullable reference is never under any circumstances observed…

Mason Wheeler
- 82,151
- 24
- 234
- 309
53
votes
16 answers
Is a senior programmers advice about always using books a good idea?
I am a junior developer and have only been in the industry for 5 years. At my current company there is a senior let's call him Infestus. Occasionally I am being given opportunity to shine and do something completely brand new from scratch.
One of…

Quillion
- 419
- 4
- 12
53
votes
6 answers
Unit-Tests and databases: At which point do I actually connect to the database?
There are answers to the question on how test classes that connect to a database, e.g. "Should service test classes connect ..." and "Unit testing - Database coupled app".
So, in short let's assume you have a class A that needs to connect to a…

TobiMcNamobi
- 1,171
- 1
- 10
- 16