Principles of design harmony

Principles of design harmony
See also

Principles of design harmony regulate ways and methods used in R&D and project management activities within company on various levels of management (strategic, tactical and operational management), they involve following good practices in project design:

  • use good and proven methods of doing things, follow the example of best leaders and managers
  • follow the KISS principle
  • maintain harmony and unity between different projects and teams
  • prepare resources in balanced proportion according to stated goals and objectives of project result
  • use best patterns of activities to solve particular problem
  • prioritize and emphasize most important part of the project (Galitz, W. O. 2007)

There are a few simple rules, the use of which does not require a large artistic sense. At the beginning, remember the principle of minimalism, i.e. the less, the more ... the more. Therefore, do not stuff too much stuff wherever it is possible, because it just suffocates space. Symmetry is equally important. Man perceives symmetrical things as nice and aesthetic. It has been scientifically proven and our sense of aesthetics is based on this simple fact. The principle of purism must also be applied. Do not use too many materials and colors, because the more them there are, the more noticeable is the haos, on which everything is restless, unharmonious, giving the impression of temporariness. Use subdued colors. This is recognized as a classic and does not get bored too quickly. No bright colors. (Kerssens‐van Drongelen, I. C., & Cooke, A. 1997, 345-357)

Graphic design - cohesion / harmony[edit]

To get the impression of consistency and harmony in the design, take care of these aspects:

  • closeness: distances between elements
  • similarity: occurs when there is a certain repetition in the elements
  • continuation: the impression given by stretching and repeating the pattern or line
  • repeatability: elements are repeatedly copied or reproduced with minor changes
  • rhythm: is achieved by means of position, size, color of elements that disturb the center point of the composition (A. Kaveh1,*, A. Shakouri Mahmud Abadi 2009, 2-4)

Graphic design - balance[edit]

The following are responsible for the balance in the project:

  • symmetry: elements on both sides of the project are mirror images
  • asymmetry: elements on both sides differ in shape, but are in equilibrium
  • radial / circular arrangement: the elements are arranged in the form of a circle (A. Kaveh1,*, A. Shakouri Mahmud Abadi 2009, 2-4)

Graphic design - proportions and scales[edit]

This part concerns the size of the elements that you place in the project. What should be the size relationship between them?

  • size: elements of various sizes remain in relation to each other
  • proportion: elements that are related to each other by maintaining proportions create the impression of visual harmony
  • division: creates a focal point that binds all elements (Shuo-Ting Wei, Li-Chen Ou, M. Ronnier Luo, John B. Hutchings 2014, 110-120)

Useful concepts[edit]

1. Kiss principle or keep it simple stupid

The code should be created and maintained in such a way that it is as comprehensible and clear to everyone. The principle is that our code should be as simple as possible in the record, without complicated fantasies that obscure his understanding. This is not only about the way of creating and writing the code, but also about the naming of our classes, methods, variables and objects. Everything should be written in such a way that the name of the variable, object, method or class defends itself and tells what its purpose or use is. (Takao Terano 2005, 176-179)

2. Dry principle or don’t repeat yourself

The principle tells us not to repeat ourselves. What exactly does the author mean? What he means is to create code that avoids unnecessary repetition in the code, a code that does the same thing and repeats itself. Going further, the point is that no part of our application should be repeated in many places and it would only be in a place that is designed for a given functionality. Generally, when, for example, we have methods that add our objects to the database, the methods that add this object should be in one, appropriately centralized and prepared for this class. It can be a CRUD repository or some service. But generally there is no point in declaring methods that add something to the database in many places separately. (Markus Schaffner 2013, 2-14)

3. The principle of yagni or you is not gona need it

This is a rule that says that in our program we should put the most important functionalities that we will need at a given moment. He also says not to write code that will not be useful at the moment, which will be redundant and which will only grow unnecessarily in our program. Let's just write what we need at the moment, if we are not sure that we will need a given method, let us not define it. (Markus Schaffner 2013, 2-14)

4. Tda rules or tell do not ask

This rule speaks of a specific division of duties between our classes and objects and their tasks. It is closely related to hermetization. We should tell our facilities what their duties are (tasks to be carried out) and not ask what state they are in. This rule also helps us avoid unnecessary connections between the objects of our classes. (Markus Schaffner 2013, 2-14)

5. Sca principle is separation of concerns

This principle is very important if you want your code to be modular, easily testable and easy to maintain. It tells us that no class of our program should share responsibility with other classes in our program. The point is that each class should have separate worries and do not have to worry about the tasks of side classes. All classes should be separate and singular. (Markus Schaffner 2013, 2-14)


Author: Natalia Wróblewska