Software Analysis .... Start with UML or Design Templates?

I am a Java programmer with 2 years of experience, I really like programming, especially OO programming, and if I have a project, I start by programming directly, without any system analysis operations, so my code does not sort as it should, I I want to learn how to write and develop good code, should I start learning UML, or can I go directly through design patterns? and what are the best books for learning UML and design patterns.

Thanks so much for your time.

+4
source share
5 answers

Start by designing a wide brush where you define the main parts of your decision. You can use UML for this, but it is not necessary.

Then start writing tests or executable specifications, and develop code to meet these tests. Use your broad brush design as a guide as well as tests. Test-based practice. Request feedback from your interested parties. Iteration Iteration Iteration

(Of course, it depends on the type of application you are making, I accept business-like, non-security-critical software).

For books, see “Domain-Driven Projects” and “Growing Object-Oriented Software, Test-Driven”.

Oh, and never start with design templates ...

+2
source

UML is a means to an end and is by no means the only one. Try it and see if you like it, personally I don’t like it too much. You need to find out how you want to think and develop your applications. Personally, I like to draw boxes on the board.

Design patterns may be useful, but they describe solutions to more specific problems. The trap here is that people who start with design patterns try to apply them everywhere. They try to match the design pattern with the problem, but it should be the other way around. UML and design patterns are by no means mutually exclusive, and they (optionally) do not fulfill the same goal.

Regarding design patterns, I found Head First Design Patterns to be a beautiful and easy-to-read book, although this is terribly subjective since I know many people who really hate the style of writing First Book books.

+1
source

UML is a way of representing a model; it is not a replacement for a model. A model can be expressed in UML, but not only in UML.
Design patterns help you create the right model and avoid common mistakes. Personally, I found the books of Martin Fowler and Eric Evans very useful, but I am sure that there are many other good authors.

0
source

There is no recipe for learning how to develop code; it's about experience.

well, after 15 years of building / basic / pascal / java / c / C ++ / C # and other languages, sometimes my code just doesn't sort as it should (or maybe), but I pay well and is usually considered a good programmer.

There are too many reasons for this, tight release dates, too fast developing technologies, dumb customer requirements, monstrous frameworks intended only for reflection on extensibility (this is even an English word) and do not focus on usabiliy.

When I start a new project, the first thing I do is coffee.

Then I contact the client (or those who will use the application), and try to understand what they really need. Understanding what the client needs is a real goal (after receiving, of course, ^^)

After that, I took a pencil and paper and drew without following any standards. Boxes, circles, arrows, with notes, some kind of artistic brainstorming.

Designing templates ... the best way to use them is to avoid them. Too often, they do not correspond to real life problems, but programmers around the world abuse it everywhere, yes, this leads to actualization. But if you feel the absolute reason for using them, start with the Beast GoF (Design Patterns: Elements of Reusable Object-Oriented Software: Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides).

2 years is just a small amount of time. It takes a little longer to develop good code (and, of course, experimenting in different languages)

0
source

The best book available for design patterns is the book Design Patterns: Elements of Reusable Object-Oriented Software by The Gang of Four. The latest version of this book also includes a UML book in package. Together it will be a good start.

However, the use of design patterns is incorrect. When you want to learn how to write and develop good code, understanding when to use templates (and when to develop your own!) Is a must.

0
source

Source: https://habr.com/ru/post/1392272/


All Articles