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
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
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
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
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)
References
- A. Kaveh1,*, A. Shakouri Mahmud Abadi, (2009). Harmony search based algorithms for the optimum cost design of reinforced concrete cantilever retaining walls.International Journal of Civil Engineering, Vol. 9, No. 1, 2-4.
- Galitz, W. O. (2007). The essential guide to user interface design: an introduction to GUI design principles and techniques. John Wiley & Sons.
- Kerssens‐van Drongelen, I. C., & Cooke, A. (1997). Design principles for the development of measurement systems for research and development processes. R&D Management, 27(4), 345-357.
- Markus Schaffner, (2013). Programming for Experimental Economics: Introducing CORAL – a lightweight framework for experimental economic experiments. Queensland University of Technology, 2-14.
- Shuo-Ting Wei, Li-Chen Ou, M. Ronnier Luo, John B. Hutchings, (2014). Package Design: Colour Harmony and Consumer Expectations. International Journal of Design Vol. 8 No. 1, 110-120.
- Takao Terano, (2005). Beyond the KISS Principle for Agent-Based Social Simulation. NII-Electronic Library Service, 176-179.
Author: Natalia Wróblewska