📜 ⬆️ ⬇️

Crutches notes

Yet there are sometimes some things in this world that can be discussed endlessly.
And what is most remarkable, each time such a discussion can end with a completely unpredictable result, both for the author and for the readers.

Any developer knows what needs crutches, bicycles and rakes for. And surely everyone already has a couple in the garage, as well as a tambourine on the wall for special occasions. If you don’t have them yet, you have just recently joined us (Maybe you just opened PHP for Dummies yesterday and in a couple of days you will have them too. Of course, your crutches will be yours, not many of us open our closets to strangers .) or set tasks for your army once in *** (let there be a word close to you today) when another misunderstanding drops your server, displays a curve report, or simply refuses to start the program. I will leave the quiet hope that the rest, those who enjoy the fruits of this co-creation, will not enter here.

Let's start with the definition.
"A crutch is a device for maintaining the patient's body weight while standing and walking " (c) Wiki
That is, the “crutch” is not such a bad decision, as it may seem. I think that not a single sane person will refuse to walk when he is deprived of it, but he will definitely not want to lean on the key when everything is in order.

The definition is, now a little about the subject (patient)
It is believed that the application (solution, system ...) is written the first time, without errors and does not require not only support, but also development. We don’t keep silent about the process of recycling - the transition from one solution to another (you hope you don’t believe in tooth fairies and always running servers, databases, platforms, technologies) as well as evaluating each of these stages.
In general, it is still a bit worse, there are entire areas in science involved in project appraisal, risk analysis and the rest of near-development activities.
')
Let's call this simple strategy - “The Strategy of the Holy Grail of Development”. No one has ever seen fast-quality-cheap , but everyone already wants yesterday , and most interestingly, everyone knows what it is - “ make me beautiful .”

The result is obvious.
As a result, in the pursuit of a great goal, many of us are dying, who are in strange technologies: flexible development, automated testing, pair programming, etc., etc .; who in the dark corners of various tools and languages, ranging from C ++, Java, Pyton, PHP, JS; who on similar forums ^ _ ^

And let's assume that the patient is initially sick (in the hope that it is not his head, there are also such options). What if the only thing he needs is not to learn to run (of course, to run, because it’s not interesting to walk or crawl, where you met the sane deadlines for development), but to get an idea of ​​running, feel the wind and speed, let it be just a fan and a man running around with a bush in the hands around. And then everything becomes much easier.
Then, using various crutches is enough to create something capable of waddling and as it develops, if of course it follows (a real business is such an unpredictable thing), we will slowly clean up one or the other, provided that the patient is completely or partially “rehabilitated” .
As a result, everyone will get what he wanted: the client will have the opportunity to run and will not overdo it in attempts to take a 100-meter race at the Olympic sprints, and the developers will not frantically pick up another stick in the hope that now it is the right size.

Summarizing.
Based on our assumption, you, as a developer, should always design two systems (and sometimes more, much more): the first is what can be done right now, and the “ideal” one — including the perfect idea of ​​what it should be (suddenly and really, you will need to win the Olympiad).

You must be able to create in your mind solutions capable of changing any existing system to a set of crutches and vice versa.
And most importantly, the next time, when it will solve a very difficult task, try to start with that stick in the corner, which you put a couple of days ago, which may not work, but pick it up.

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


All Articles