84
votes
How important is it to clearly understand requirements and architecture before starting to code?
I've seen people dive straight into the code, make bad assumptions and spend ages writing the wrong thing.
On the other hand, I've seen people spend weeks "understanding requirements", ...
- 21k
16
votes
How important is it to clearly understand requirements and architecture before starting to code?
There is a large field of study devoted to this. See for example:
https://en.wikipedia.org/wiki/Category:Software_project_management
https://en.wikipedia.org/wiki/Agile_software_development
https://...
- 32.8k
15
votes
How important is it to clearly understand requirements and architecture before starting to code?
The most important thing is knowing when to stop.
Gather requirements. Do architecture design. Stop when it's not teaching you anything. I think of them like making popcorn. When it's making ideas pop ...
- 97.7k
8
votes
Accepted
How to avoid side effects in complex code
There is no silver bullet to solve your issue.
That does not mean it cannot be solved, though "solved" is probably be the wrong term. A better description is IMHO "it can be managed&...
- 194k
4
votes
How important is it to clearly understand requirements and architecture before starting to code?
I hate these wishy washy "it depends" answers. Here's my answer: Don't bother with requirements and architecture.
Why?
Requirements
You are just pushing back the coding problems to the ...
- 68.8k
2
votes
Are there any guidelines for calculating hardware requirements in a containerized environment?
You are expecting too much.
There is no such analytical approach beyond trying and measuring which works for any software (inside or container, or without it, does not matter).
For a specific ...
- 194k
2
votes
Accepted
Multiplayer FPS Architecture
You've fallen into the trap of deciding that each noun should be a class, rather than each class being a class. Usually people with this syndrome make a class for each noun in their program - Player, ...
- 4,431
1
vote
How to improve a monthly usage quota system for an API with growing number of users?
Work out the count of requests from a time indexed log of requests instead of storing a number in reddis. (elastic etc)
Now you are just writing to the log for each request.
Move your usage ...
- 68.8k
1
vote
Where to check preconditions in multi functions
There are basically two ways to deal with preconditions.
The caller is fully responsible, and if the preconditions are not met, all warranties are void. This is essentially how the C standard library ...
- 70.2k
1
vote
Accepted
How to deal with overlapping domains?
Specific to the Problem
An employee knows his laptop, but a laptop does not know an employee. The employee uses the laptop, and it's a good idea to put employee-laptop logic in the same package with ...
- 176
1
vote
Accepted
How to handle dependencies between microservices all called within one large service
As long as you have micro services calling each other directly, you will have hard dependencies between services. With your current design, the statistics service is a active participant in the ...
- 32.5k
1
vote
Multiplayer FPS Architecture
I think you might be missing an 'Event' model in your design. You talk about managing the state of the game, which is important, but things like 'player A gun fired' are pretty hard to model using ...
- 24.5k
1
vote
Multiplayer FPS Architecture
This is the sort of thing that is remarkably hard to do well. The general subject of "rollback netcode" is worth doing your reading on, as it can make or break the player experience. You ...
- 10.2k
1
vote
Multiplayer FPS Architecture
The core idea of multi player games, at least where there is any competition or reason to cheat, is to never trust the client.
Using this model the client is simply a dumb client. It sends mouse and ...
- 3,134
1
vote
Implementing paging with multiple data sources
It's often very difficult or impossible to combine multiple data sources into a single index. For example, if the underlying sources change often, you end up having to maintain essentially a ...
- 135
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
architecture × 3405design × 772
design-patterns × 435
c# × 268
microservices × 252
domain-driven-design × 220
java × 197
database × 171
architectural-patterns × 169
object-oriented × 146
enterprise-architecture × 145
rest × 118
web-applications × 113
.net × 105
web-development × 104
api × 99
mvc × 95
object-oriented-design × 94
database-design × 84
javascript × 77
api-design × 72
web-services × 67
programming-practices × 65
python × 60
asp.net × 58