Most Popular

1500 questions
54
votes
3 answers

Best practices for logging and tracing in .NET

I've been reading a lot about tracing and logging, trying to find some golden rule for best practices in the matter, but there isn't any. People say that good programmers produce good tracing, but put it that way and it has to come from…
Levidad
  • 798
  • 1
  • 7
  • 10
54
votes
14 answers

Why are reproduction steps helpful for fixing software bugs?

Our company have a support team and a dev team. We require reproduction steps on every bug report, however sometimes the support team submit reports without and become frustrated when dev close them as "cannot reproduce / cannot fix". Support then…
Chris
  • 525
  • 4
  • 7
54
votes
10 answers

If software engineering means making software for other domains when are you supposed to get the knowledge about that other domain?

I'm told that software is everywhere and therefore used in other domains. My question is if you're a software engineer working on software for lawyers or software for biologist when do you actually get the time to learn about the other domain you're…
WindBreeze
  • 687
  • 5
  • 6
54
votes
10 answers

Clean Code: long names instead of comments

Don't be afraid to make a name long. A long descriptive name is better than a short enigmatic name. A long descriptive name is better than a long descriptive comment. Robert C. Martin Did I understand Clean Code right? You put the whole…
TomatenSalat
  • 732
  • 1
  • 5
  • 9
54
votes
24 answers

Why do some programmers hate the UI part of the development?

Lots of programmers that I've met always says that "He is not a UI guy." The fact is that development nowadays, whether web, Windows, Linux, OSX, or any other type of development now comprises software with a good-looking UI. Why do so many…
zero95teen
  • 323
  • 1
  • 3
  • 8
54
votes
5 answers

Is it better to merge "often" or only after completion do a big merge of feature branches?

Say multiple branches are being developed, A and B, as well as a incremental "bug fix" branch C. Now C is already "finished" and merged into master. A and B are still in development and will not be fixed before (maybe) another bug fix branch is…
paul23
  • 1,061
  • 1
  • 8
  • 14
54
votes
5 answers

How to deal with fear of taking dependencies

The team I'm in creates components that can be used by the company's partners to integrate with our platform. As such, I agree we should take extreme care when introducing (third-party) dependencies. Currently we have no third-party dependencies and…
54
votes
11 answers

Agile Practices: Code Review - Fail the review or raise an issue?

At the end of a 2 week sprint and a task has a code review, in the review we discover a function that works, is readable, but it's quite long and has a few code smells. Easy refactor job. Otherwise the task fits the definition of done. We have two…
Erdrik Ironrose
  • 4,806
  • 3
  • 13
  • 25
54
votes
3 answers

What's the difference between a subclass and a subtype?

The highest rated answer to this question about the Liskov Substitution Principle takes pains to distinguish between the terms subtype and subclass. It also makes the point that some languages conflate the two, whereas others do not. For the…
tel
  • 569
  • 1
  • 4
  • 8
54
votes
8 answers

Term (or "pattern"?) for "Do something if it's not already done"

Sounds pretty basic, I know, but I recently had a colleague tell me that a method called startHttpServer is too complicated to understand because it only starts the server if it's not already running. I find I get into trouble when I respond with,…
54
votes
7 answers

Is it bad practice to not delete redundant files right away from VCS but instead mark them as "To be deleted" with comments first?

I wanted to know if the way I deal with source files that need to be deleted from version control could be regarded as bad practice. I want to explain it to you based on that example: I recently got very angry because I had to tediously sort out…
Bruder Lustig
  • 655
  • 5
  • 8
54
votes
6 answers

Function inadvertently invalidates reference parameter - what went wrong?

Today we found out the cause of a nasty bug that only happened intermittently on certain platforms. Boiled down, our code looked like this: class Foo { map m; void A(const string& key) { m.erase(key); cout << "Erased: "…
Nikolai
  • 561
  • 4
  • 5
54
votes
7 answers

What happened to database constraints?

When I review database models for RDBMS, I'm usually surprised to find little to no constraints (aside PK/FK). For instance, percentage is often stored in a column of type int (while tinyint would be more appropriate) and there is no CHECK…
Arseni Mourzenko
  • 134,780
  • 31
  • 343
  • 513
54
votes
3 answers

Should Microservices talk to each other?

I'm designing an application using Micro-Services and I'm unsure on the best mechanism to use to collect data from multiple services. I believe there are two options: Integrate an 'inter-service' communication mechanism that allows the services to…
KidCode
  • 2,123
  • 4
  • 17
  • 13
54
votes
6 answers

Business logic: Database vs code

I'm a student of systems engineering, and all my teachers and friends (that actually work in the area) say that it is better to have as much logic as possible implemented in the database (queries, views, triggers, T-SQL, etc.). I think that it's…
Larizza Tueros
  • 714
  • 1
  • 5
  • 12