Write a program is never an easy thing，You often feel very satisfied with the work，Users say your program is simply a semi-finished products。You scratching，But always wondered。
Long before I was in college，I was an art student，Studied painting in Beijing。Time，Every day a lot of painting paintings，There have someone like gouache color sketch，Every time I drew strong three hours do not go，To sit and rest play phone。The teacher will come for：Only three hours，You have not yet unfinished，Continue to draw。
I did not understand the，Very puzzled，Obviously the others have，Why it happens that I did not finish the painting? Then the teacher picked up the brush，On my paintings continue to draw，Modify，Two hours passed，Until the bell，She put down the drawing board，Or，First so be it，Yet unfinished。
Later, I learned，It may be in the eyes of the master，Can no unfinished painting。
The reason for the Masters Masters，Because they keep improving their knowledge of completeness，There used to paint a plaster cube on the table，You to draw，Exactly the same painting，Called complete。But you just draw a cube，This is not called complete。Note that I say，"A" instead of "this"，You have to draw，The "cube"，That one of the cube on the table，How you can make your screen reflect this? In sketching skills in，We use light and shade，Use light，Use lines。Going observation，You draw a cube，That it is on top of the light it? It factory die lines do? Using for so long，Bumps gap it? May have just put it on the table，The shallow fingerprint individuals also printed on top? This is the detail，The specific details of the decision you draw a cube，Not that I cube on the table，Shop windows are not painted wood swing that cube，But that you are drawing cubes Sketchpad back on the table in front of you。
This is complete。
Later came into contact with programming，I had not realized this problem，Just subconsciously let go to write their own code becomes more complete，until one day，someone said：Damn，How you write code written on a so nice，Then look like a beautiful master，And I will not do。
I thought，Probably because I did from the outset, emphasis on the specifications and style code issues。
But more than that to complete the process。You begin to learn a programming time，Inevitably there will be some small look at you no brain exercises，For example, an asterisk (*) at the output terminal of a pyramid，Or a diamond output。Another example may be difficult later rose，You need to write a program to convert Fahrenheit and Celsius - this should be the first I wrote a more complete program。
Then，How do you do it? Similar algorithms may，We click on Run，Compiled，run，It shows a solitary word on terminal：32.Do you think your job is done，Thus concluded。
This is a good example，This program is aSemifinished product。
Like painting, like，This time you do not draw as much as possible to complete，The next time you still do not know where to improve。
- Since it is a program，Now that we have degrees Fahrenheit and Celsius conversion algorithm，That we can not do a simple interaction，Convert it to any value it?
- As can any number of，It is not possible to switch the direction of the conversion program，Let Fahrenheit and Celsius can convert it?
- Now that can be converted，That our program is not to be like those who run the system program as both open，You can accept parameters directly and then enforce it?
- Program execution is completed withdrew，Can we add a loop let it continue to wait for the next user input it?
- Since the programs are so versatile，We can not consider it to write a graphical interface?
So to think step by step，I finished this step by step program，For this topic do for you，Probably the hardest thing that a temperature unit conversion algorithm，Others are not difficult，But if you insist on completing it，So what you'll see next time is defined as a complete program。
We say Tomb，In fact, grave robbers and tomb of a game beyond time and space，Make Some people fast hardware design of various authorities to protect their own graves before the tomb of life，The thieves tricks you need to get rid of many obstacles before eventually won the grave goods - in fact, written procedures and end-users is also such a thing，Users use your software，Is in the game and you - you have to find ways to make your program intentionally or unintentionally, they withstood the ravages。
You do not know how your users will use your program，In a good way? Or bad aspects? Is it designed guns who will be able to bind his gun in the hands of a good person? same，You can not be sure that your text box will certainly be filled with numbers or letters the user。You do not detect，Not to judge，Then your program every minute of it collapsed - and that this error should be taken into account when developing and avoided - and this pot，You can only come back。Because you've never done it before，You simply can not have this one pair of full-defined programs in，How can you start it will be able to avoid it?
That's why，You worked so hard to write code，Your perfect work，You will be product manager，Your users cast aside as semi-finished products。It is not stable，Does not look good，Not easy to use。It is just a pile on features just a precarious procedure rather than a complete software。
In the eyes of the master，Never complete works，Because they believe there is room to enhance the painting，They firmly believe that if we should add a little detail，Their next picture can be a little more close to perfection。
Your potential，No specification as a specification of the jack and，Every time you push it，It can seem impossible to lift some of the weight，No one knows its limits，But we know，After the first time you put it lifted us to be sure to reach this height again the。
And，If you can not do push myself，That may be your potential will really vanished。
So if you have to ask around so-called "learning Pa '，Those "genius"，They always have a variety of ways to constantly improve their threshold for "finished"，Everyone may have their own methods，They do not know what in the end be，Some people call it perfectionism，Some people call it obsessive-compulsive disorder - in fact,，Rather, it，This is a method of self-improvement，By constantly upgrade themselves define the threshold for the "perfect"，Make yourself more and more "perfect"。
Reproduced Please keep the source and description link：https://www.logcg.com/archives/1596.html