Once I went to a meeting with the marketing staff. Since the customers were from several aspects, they were mainly discussing the cooperation issues in business areas, I was bored, open the notebook and continue writing. Program .
This is a B/S structure system. One module allows you to collect statistics on data within a certain period of time. Therefore, you need to select a date on the page. Of course, the common method is to use Javascript The date control of, select the date to a page control, and pass it to the background program for processing. I soon finished it. In the initial state, it looks like the following:
Click "calendar" to call JS Control. The selection interface is displayed as follows:
After the selection is complete, get the date to the text box. The final interface is as follows:
For ease of control, the text box is Read-Only , That is, the date can only be selected through the control, not manually input. After that, the market personnel next to me read it and asked:
"Why don't you let him lose ?"
I said, "If you lose Too troublesome , I have to limit the input format. If the format is not correct, I Have To prompt that the data type conversion is required ...... This is not convenient ."
The market said: "This is not too troublesome, but it is not user-friendly. This kind of small place is too much, and the whole system is very uncomfortable to use. I found that all R & D personnel are doing this, A The Department is also there, and the implementation of the function is complete, it doesn't matter whether it is good or not ."
I said, "It's good to make it that way, Time is tight , You can only implement the function first ."
= ======================================
What is quality? For a programmer?
For most people, Code They are well-written and well-regulated, including typographical layout, comments, naming, Case sensitivity, and so on. Generally, the company requires training in this regard when it is new to the company. However, this is not necessarily the case in terms of interfaces. I am afraid few companies have interfaces for R & D personnel (UI Training and requirements, tell them the same function, what is a good interface, what is bad. Of course, unlike the code, it is difficult to establish a set of specifications, and there will be artists doing beautification, which also leads to the dependence psychology of programmers. (In fact, the artist rarely changes the layout of controls on the interface and how to operate them, because it is difficult for the artist to intervene in the business logic .) However, there are still accepted principles in this regard, such Gmail Everyone thinks it is convenient to use, user-friendly, and easy to use, and other mailboxes are learning its style. I believe Google In UI There must be a dedicated person to take charge and check. However, domestic companies seem to have less strict requirements on the convenience and humanization of their products in terms of operation, at least my company is like this. In fact, a good user experience is very important for a mature software, and this argument does not need to be done. If a thing is very difficult to operate, people must find its replacement. So for programmers, in addition to code correctness, readability, and efficiency, the design, layout, and ease of operation of the interface should also be an important criterion for measuring the quality of their work.
I think there are two main reasons for programmers to ignore the interface quality.
1,Too troublesome
Indeed, if you want to make a good interface, consider how to perform more reasonable and convenient operations, and sometimes it is more time-consuming than writing the code. As a result, programmers are often too lazy in this regard. I don't care how many buttons you need to change the focus several times, as long as a series of operations reach the goal, OK. His starting point is how to complete the code behind the interface, rather than worrying about the interface, rather than reducing the trouble for himself, rather than considering the user's convenience and feelings.
2,Time is tight
This reason is more objective and magnificent. The customer has given you so much time to do it. Of course, you must implement all the functions first. It is secondary to making it easy to use and optimize it later. We may often hear this. (Not only in terms of the interface, but also in terms of documents and design...) Well, we did catch the main contradiction, but it was not a bit of a perfunctory or perfunctory? Think about how many things are optimized after they are done? No one is willing to modify the existing results. It is too painful to modify the code, and it is difficult to modify the code and worry about affecting the functionality... if many things are not done well for the first time, they will never be changed in the future.
In fact, the ultimate goal of programmers to do things is to give people the ultimate purpose. Only by having such a quality consciousness in our minds can we not only use what we make, but also use it, and dare to ask ourselves to do this, it is a pure programmer, a programmer who is separated from low-level interests.
(Well ...... Write this articleArticleTo despise yourself .)