Notes on crutches

    Nevertheless, 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 crutches, bicycles and rakes are for.And for sure, everyone already has a couple in the garage, as well as a tambourine on the wall for special occasions. If you still don’t have them yet, you either just recently joined us (Perhaps you just opened PHP for Dummies just yesterday and you will have them too in a couple of days. Of course, your crutches will be ours, not many of us will 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 crooked report, or simply refuses to start the program. I will leave a quiet hope that the rest, those who enjoy the fruits of this joint work, will not come here.

    Let's start with the definition.
    Crutch - a device to maintain the patient’s body weight while standing and walking ” (c) Wiki
    That is, a “crutch” is not such a bad decision as it might seem. I think that not one sane person will refuse to walk when he is deprived of it, but he certainly will not want to rely on the hook when everything is in order.

    There is a definition, 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 will not say anything about the recycling process - the transition from one solution to another (you hope you do not believe in tooth fairies and always working servers, databases, platforms, technologies), as well as about evaluating each of these stages.
    In general, everything is still a little worse, there are whole areas in science that are involved in project evaluation, risk analysis and other development activities.

    Let's call this simple strategy - “The Holy Grail of Development Strategy”. No one has ever seen fast, high-quality, cheap , but everyone already wants it yesterday , and what’s most interesting, everyone knows what it is - " make me beautiful ."

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

    And let's assumethat the patient is initially sick (in the hope that he does not have his head, there are also such options). What if the only thing he needs to do is not to learn to run (of course to run, because walking or crawling is not interesting, where did you meet the imputed time allotted for development), but to get an idea of ​​running, feel the wind and speed, let it be just a fan and a person running around with a bush in his arms. And then everything becomes much easier.
    Then it’s enough to use various crutches to create something capable of hobbling, and as it develops, unless of course it follows (real business is such an unpredictable thing), we will slowly clean up first, then one, then the other, subject to full or partial “rehabilitation” of the “patient” .
    In the end, everyone will get what they want: the client will be able to run and will not overtake in attempts to take the 100 meters at Olympic sprints, and the developers will not frantically pick up the next hook in the hope that now it is just the right size.

    In summary.
    Based on our assumption, you as a developer should always design two systems (and sometimes more, much more): the first is what you can do right now, and the “ideal” one includes the ideal idea of ​​what it should be (all of a sudden and indeed, you will need to win the Olympics).

    You must be able to create solutions in your mind that can change any existing system to a set of crutches and vice versa.
    And most importantly, the next time that he will solve a very difficult task right, try to start with the stick in the corner that was put a couple of days ago, it is possible that it won’t work, but it’s hobbling.

    Also popular now: