Skip to main content
74 votes
Accepted

Should a developer do UI mockups if there are no designers in the project?

I very often work in such projects, and the answer is a resounding YES, and as early as possible. People find it much easier to criticize improve some draft than to come up with a solution from ...
Stefan Schmiedl's user avatar
39 votes

Should a developer do UI mockups if there are no designers in the project?

Mockups are fantastic and there is no reason a dev shouldn't do them. (It can even be handy for a dev to do a rough draft of a UI layout even when you have UI designers on the project.) I highly ...
Matthew Whited's user avatar
25 votes
Accepted

What are the benefits of modeling software systems vs. doing it all in code?

The benefit of modeling software systems vs. all in code is: I can fit the model on a whiteboard. I'm a big believer in the magic of communicating on one sheet of paper. If I tried to put code on the ...
candied_orange's user avatar
22 votes

When is primitive obsession not a code smell?

Primitive Obsession is using primitive data types to represent domain ideas. The opposite would be "domain modeling", or perhaps "over engineering". Would you create a DateOfBirth object and a ...
VoiceOfUnreason's user avatar
19 votes

Is there a programming paradigm that promotes making dependencies extremely obvious to other programmers?

Discoverability Its absence plagues many organizations. Where is that tool that Fred built again? In the Git repository, sure. Where? The software pattern that comes to mind is Model-View-ViewModel....
Robert Harvey's user avatar
16 votes
Accepted

How to model public IDs?

You cannot look into the future - accept that. So better go ahead with a simple, but sufficient solution for today, and add more complexity when you know the requirements, not beforehand. If you ...
Doc Brown's user avatar
  • 209k
14 votes

Who are the domain experts?

What is a domain expert ? When you develop software using Domain Driven Design, the primary focus should be on the domain model, that is a representation of the domain in which the software will be ...
Christophe's user avatar
  • 78.4k
13 votes

How to design an unpredictable model?

I've no idea why Hospitals, Prisons, Nursing Homes, etc need their own classes. Nothing here makes me think they do. Why aren't these simply different instances of InternshipProvider? Not ...
candied_orange's user avatar
13 votes

What is a proper diagram to describe software architecture

What is the purpose of the layers ? The clean architecture aims to achieve separation of concerns, by dividing the software into concentric layers. The main difference compared to the traditional ...
Christophe's user avatar
  • 78.4k
12 votes

When is primitive obsession not a code smell?

A possible rule of thumb may depend on the program's layer. For the Domain (DDD) aka Entities Layer (Martin, 2018), this might as well be "to avoid primitives for anything representing a domain/...
schrödingcöder's user avatar
12 votes

How do I manage shared models among many microservices?

The other answers are correct as far as the coupling being at the data interface level. But they don't really answer the question posed in the title: How do I manage shared models among many ...
Kyle McVay's user avatar
  • 1,956
12 votes

Does the signature of a method create a dependency between the implementation of that method, and the code that invokes it?

To give your question more context, let us remember what Ousterhood is trying to explain in the section of the book. Let me cite the first sentence from the paragraph where you got your cite from: ...
Doc Brown's user avatar
  • 209k
11 votes

Should a developer do UI mockups if there are no designers in the project?

Yes, absolutely. Don't let someone else tell you how to do your job. And you are right, it's very much like doing UML for your data model. Assuming you are a developer, your job is to deliver quality ...
Bryan Oakley's user avatar
  • 25.3k
11 votes
Accepted

How much UML modeling should you do?

UML covers indeed a very large set of modelling needs, from the most elementary designs, to almost visual coding, especially if considering neighbour standards such as OCL. If all these things were ...
Christophe's user avatar
  • 78.4k
10 votes

Should a developer do UI mockups if there are no designers in the project?

When designing "a new screen", you want to discuss the rough idea of the UI first with a user and/or your colleagues. You cannot discuss this with a user "in code" or "in UML", that simply does not ...
Doc Brown's user avatar
  • 209k
10 votes

Is there a programming paradigm that promotes making dependencies extremely obvious to other programmers?

The best way to approach these sorts of problems is incrementally. Don't get frustrated and propose wide, sweeping architectural changes. Those will never get approved, and the code will never ...
Karl Bielefeldt's user avatar
10 votes
Accepted

What is the benefit of encapsulating a collection inside a class?

The problem with your original code example, is that Orders breaks the encapsulation of _orders as you are returning the list. Cast that IEnumerable<Order> to IList<Order> and code outside ...
David Arno's user avatar
  • 39.3k
10 votes

UML: what is the correct order of steps?

UML is just a language to draw pretty pictures with some chance that others understand what the shapes mean without an extensive explanation from you. UML does not tell you which diagrams to use in ...
Bart van Ingen Schenau's user avatar
9 votes

Did the need for software design specification significantly decrease with the evolution of more expressive programming languages?

I question the premise that languages are more and more expressive. With today's ASP.NET code in c#, I write at about the same level as I did when I wrote ASP code in Visual Basic. We still use c++. ...
John Wu's user avatar
  • 26.6k
9 votes

When is primitive obsession not a code smell?

To be honest: it depends. There is always the risk of overengineering your code. How widespread will DateOfBirth and Salary be used? Will you only use them in three tightly coupled classes, or will ...
CharonX's user avatar
  • 1,643
9 votes

How to model public IDs?

You're right; the membership ID is not part of your Primary Key. That's why synthetic keys exist. A synthetic key is one that is automatically generated, either by you or the database. It usually ...
Robert Harvey's user avatar
9 votes

Before OOP, how were systems modeled

It would be pretty silly to think that we didn't have objects before OOP. OOP formalizes a notion of class, which allows arguably superior code organization.  But these same constructs can be ...
Erik Eidt's user avatar
  • 34.2k
9 votes
Accepted

Data Modeling: Are technical concepts within a tool that implement a business entity entities as well?

Your original question gave the impression you were trying to model entities without knowing how they will be used. That's a classic road to hell, paved with good intentions. Data modeling requires ...
Doc Brown's user avatar
  • 209k
8 votes

When is primitive obsession not a code smell?

Better suffer from Primitive Obsession or being an Architecture Astronaut? Both cases are pathological, in one case you have too few abstractions, leading to repetition and easily mistaking an apple ...
Deduplicator's user avatar
  • 9,071
8 votes
Accepted

Navigation in Class Diagram

Navigability means according to the UML specifications: that instances participating in links at runtime (instances of an Association) can be accessed efficiently from instances at the other ...
Christophe's user avatar
  • 78.4k
7 votes
Accepted

How do you correctly turn this text into an activity diagram (problem with timer)?

Problem Your diagram has several flaws. For instance, you'd need a join to synchronize the camera recording and the timer. But then, the semantic would mean that both activities must be finished ...
Christophe's user avatar
  • 78.4k
7 votes
Accepted

How to design correctly relationships of class diagrams?

This is fine for a start, but you're pretty data-heavy. Object-orientation is about cooperation among objects, with each bringing its own specific knowledge and behavior to contribute to the whole. At ...
Robert Bräutigam's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible