Suggest a project that I can use to study good software architecture

I'm close to completing the Zed Shaw Learn Python The Hard Way. I also know that the second best thing about programming, other than actually getting a job and working on a project, is to learn other people's code. Thanks to all the repositories, there is no shortage of projects that can be downloaded and studied.

However, it is also fair to say that not all projects have the same quality in terms of design and code quality. I have a Phd in writing bad programs, and therefore I do not want to re-educate myself.

You may have been impressed with the part of the python application (design and code quality wise) when you started training. In this case, I would like to know to capitalize on this.

+4
source share
3 answers

That sounds like a dangerous question :)

I say that although there are many different ways to develop a solution, each approach usually has its pros and cons. A well-designed application is the culmination of many, many deliberate decisions based on numerous factors, not limited to:

  • Budget
  • Timeline
  • Application scale
  • Affordable Technology
  • Performance requirements

Performance is a particularly difficult area because code can often be optimized for specific expected (or observable) usage patterns. Performance optimization may also include certain heuristics that may fly in the face of what is accepted as “good practice,” but under fire this may be the best approach.

I would suggest a good place to start, considering the common factors of good coding practice. For instance:

  • Maintaining health (how easy it is for the developer, new to the application or not - to modify the application - ideally without breaking everything)
  • Repeatability (how the application is logically structured so that key parts of the code can be reused), this simplifies software maintenance and, as a rule, indicates a good structure.
  • Readability (how well the code is visually structured / how good the methods / variables, etc., named in the source files, etc.) This is very important if you are hoping to code the command :)

Other things worth paying attention to are how resources are used efficiently.

For broader examples of “architecture”, it would be easier to list good examples of specific patterns than a list of common applications demonstrating “good software architecture”. In addition, almost any use of a substance has a code written under fire, which can lead to bad examples mixed with good.

If I could choose something specific, you know, directly answer the question that I would say: bittorrent is interesting and well thought out / writing. For a good summary of several interesting aspects of the project, check out this article BitTorrent Style

+2
source

Here is a very good material and a book on reading various types of architecture

+2
source

Check out Twisted

+1
source

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


All Articles