Introduction
In the world (in particular in IT) you probably too often meet with difficulties, sometimes you do not even pay attention to this, difficulties have already entered into everyday life and are not perceived consciously. However, I had a desire to produce a small overview of the difficulties.
Chocolate
I really like dairy products. In particular, I like to drink a glass of milk with a few slices of dark chocolate. Today this is once again repeated. But he did not usually pass (maybe this is somehow connected with the fact that the day before yesterday I started a new life;)), and this case was noted by the fact that I very carefully approached the issue of opening a chocolate bar:
')
![gork_franz [1] gork_franz[1]](https://habrastorage.org/getpro/geektimes/post_images/a8c/ba4/277/a8cba4277ba5c330b989fabfbf6bf093.png)
Have you ever eaten chocolates in this series? The trick is that when you open it, you do not need to think about how to do it, because everything is written and drawn on the packaging, and it is done in such a way that very few people will be able to go the other way. It's great!
the Internet
Now about the Internet, it is full of various delights on the topic: manage to understand me in a few seconds, not everyone succeeds. My opinion is that you need to adhere to a healthy minimalism, bring your resources to such a state that each page allows you to do only what it is intended for, but on the other hand to cover all related needs.
I will give the simplest example:
I write a message in some RTE (rich-text editor) editor, and suddenly the thought comes to me that it would be nice to insert a picture, my eyes rush to search for the corresponding button and it’s good if I find it, instead of in order to continue to pour my creative energy into the editor, I will begin to pour it out to the authors of the site, or to criticize it on various information resources.
For example, one could add the possibility of tagging, categories, quoting, spell checking, and so on.
However, in all these related functions, there is a small nuisance associated with the utter lack of usability and oversaturation of the interface. So you should be very careful and have an idea about the
golden section :
It is considered that objects containing the “golden section” are perceived by people as the most harmonious. The proportions of the pyramid of Cheops, temples, bas-reliefs, household items and ornaments from Tutankhamen’s tomb allegedly indicate that the Egyptian masters used the golden ratio in their creation. The architect Le Corbusier “found” that in the relief from the temple of Pharaoh Seti I in Abydos and in the relief depicting the pharaoh Ramses, the proportions of the figures correspond to the values ​​of the golden section. The architect of Khesira, depicted on the relief of a wooden board from the tomb named after him, holds measuring instruments in which the proportions of the golden section are fixed. In the facade of the ancient Greek temple of the Parthenon there are golden proportions. During his excavations, compasses were found that were used by architects and sculptors of the ancient world. In the Pompeian compasses (a museum in Naples), the proportions of the gold division, etc., etc., are also laid.
I would like to give an example of a resource with which I recently began to work actively, this is
Twitter.
He is incredibly popular, and it is not surprising, due to the fact that he:
- Implements a complete idea
- Provides interesting and comprehensive functionality.
- Easy and convenient to use.
Software development
All of the above can be safely reflected on the development of what I do almost every day. It should be understood that the software is written not for a successful interpretation of the hardware component of the computer, but for people, therefore it is necessary to adhere to the principles of simplicity and convenience, clarity and ease.
Not to be unfounded, I want to cite as an example the analysis of a certain out-of-box engine for an online store.
When developing such an engine, you should understand the following:
- A client who will be interested in purchasing this solution (we are not selling products, we are selling solutions;)) will not be interested in organizing his support (if he buys a box, he will not want to hire specialists to work with it).
- The engine should be as simple as possible and provide the main function - deployment and support of an online store, it is desirable that this should happen by pressing a few buttons
The same principles should apply to the process of writing software:
- There should be no solutions stretched over the ears. If something goes wrong, then you are using the wrong technology, the wrong environment, do not have sufficient qualifications.
- There should not be hard-to-read, confusing, frightening code. If this happens, then you need to arm yourself with tools such as refactoring, design patterns, an experienced architect can help.
- The code should work at any stage. If by the end of the period (day, 2 days, week) you are unable to make a functioning instance, then it is necessary to revise the development mode required in the solution of the functional.
- Each line of code should have an idea, a thought. If your code is boring to read, if it's just a set of letters and numbers, try writing a short story (at least in your mind) about what your method is currently doing, I assure it will only benefit, as well as bring clarity.
- Writing code should give positive emotions. If this is not the case, you may be tired for today, I advise you to rest. If this is repeated tomorrow, it means that you are just in a state of “non-ruinous”, try to do some other creative work at this time if possible. If it accompanies you constantly - think about it, and whether you devote your precious time to this occupation.
Conclusion
I wanted to try pee on development a bit abstract, a little off the technical side of the question, I want my experience to be useful not only to .NET developers.