The mature part of honest programming is unconfuge, honest, honest, usually, is in the following aspects: Don't pretend that you are a programming ability to make a compiler warning information, not for you The program has a clear understanding, rather than whether it is wrong to provide actual status reports to provide actual solution assessment, insisting on your own opinion before your boss - I don't know some things or admit you I made a mistake is your modest reflection. If you don't understand, how can you not learn new things? You'd better pretend very little, listen to the explanation of others, learn new things to them, and assess whether they really understand what they are talking about. You respond to your ability to make some extent, if you are perfect for your evaluation, this is an unpleasant signal. Refusing to admit mistakes is an annoying habit. If Sally refuses to admit errors, she seems to believe that she is not wrong, it may make other people believe that she is indeed innocent, but it turns out that Sally is wrong, this, everyone Know that she made a mistake. The error is just like the trend is a complex activity. If she has not happened in the past, no one will blame her. If she refuses to admit mistakes, she can only eat fruit. Others know that they work in the same dishonest. This is more disgusted than only a mistake. If you make a mistake, you should actively recognize the error. The compiler error message is not understanding is another common error. If you don't understand a compilation warning message or you don't think it is too urgent, you think about this is really a waste time? The compiler will make questions to show you, but you don't try to solve the problem, I have encountered a lot of people asking for help during debugging, I ask if they have a good compiler, they answer is . So I started explaining the symptoms of the problem. I said: "This looks like not the initial ratio of the pointer. But the compiler should give a warning message." They said: "Oh, the compiler does give a warning message. We think it refers to other things. "You have a mistake to blind others, it is more difficult to fool computer, so you don't have to waste time. Another negligence is when you don't fully understand the program, you "compile it to see if it can run." Under this condition, it does not mean that the program can run, because even if you are not clear about the process. Keep in mind that testing can only find the existence of the error, and it is not guaranteed that there is no error. If you don't understand the program, you can't make a deep test. If you think it should be compiled to understand the procedure of the program, this is an unique signal, which may mean that you are not clear. You have a deep understanding before compiling your program. The status report is also an intriguked area. If the programmer says when the last 50% of the project, 90% of the program is complete and reliable, they will be called in the buddy. The problem is that you lack your own progress, you should have a strengthening of your work. However, if you don't want to say true situations, you can do it. Generally speaking, the boss is willing to hear the real report of the project, even if they are not what they want to hear, if your observations and insights are pertinent, you should objectively, and the boss needs accurate information to Coordinate various development activities, and full cooperation is required. One problem related to inaccurate status report is incorrect. Typical situations are like this: How much time to ask Bert can develop a new database product.
BERT and some programmers talked about some problems, and finally thought that 8 servants and 6 months, but his boss said: "This is not what we need, you can use less The programmer completed the job in a short time? "Bert considered a period of time and considered to reach the training time and the holiday and to make each person's working hours a little longer to meet the requirements. He has made six executives and 4 months of estimation. His boss said: "This is a relatively low priority project. You should complete it in time, because the budget does not allow you timeout "BERT is wrong in that he did not realize that the assessment is uncomfortable, he can make an estimate more accurate, but the discussion of his and boss can't change the time required to develop a project. IBM's Bill Weimer said; "We find that technicians generally accurately estimate the project. The problem is whether they can adhere to their own decisions; they need to learn to adhere to their opinions." BERT promised to deliver the product in 4 months Delivered in 6 months, it will definitely make his boss unhappy. For a long time, he may lose trust due to compromise. Otherwise, he will be respected because of his own estimate. If the boss applies pressure to change your estimate, you should realize how to make things within the boss of the boss. You can say: "Look, this is the expense of the project, I can't say that this expenditure is worth it - this is your job. I can't spend the time with you, this is just as we can't negotiate. How much feet is in the case - this is not possible. You can't agree on the law of nature, we can only agree on all aspects of the impact progress in this project and then reassess. We can reduce some characteristics, reduce performance, and phased projects. Or use fewer people but time prolong, or use a slightly more than people, and reduce some time accordingly. "I have heard a strange statement at a software development management seminar. The speaker is a very good software engineering management book author. A listener asked:" Your boss lets you assess a project, you Know that your boss may think that the price is too high when you get an accurate assessment. What should you think about it at this time? "The speaker replied that when you persuaded your boss to make a decision of the development project, they will be a mistake to the whole situation. This is a wrong answer. Your boss is responsible for the operation of the entire company. If you develop a certain Software requires 10 000 US dollars and your estimate is $ 200,000. Your company will not develop software. This is to make a decision from the boss. The main lecturer tells the expenses of the project, telling the boss to be more actual Be less, he is the authority of the boss, if you think the project is promising, it can bring new major breakthroughs for the company, or can provide valuable training, you should say it. Your boss These factors will also be considered. The decision that you kids the boss will make the company to suffer losses. If you lose your work, you will understand what you finally got. Exchange and cooperation truly excellent programmers should learn How to work and entertain others, write readable code is one of the requirements for programmers as a member of the group. The computer can also read your code as other people, but it is better to read more than other people. Code. As the principle of readability, you should modify your code, you will be in your heart. The development program first exchanges with programmers, and the second is to communicate with computer. Most high level programmers like to make their own procedures Strong readability and sufficient time. Although only some people can stick to the end, and some of them are still high-level code writers, understanding the programmer level in the development, help me In this principle: Level 1: Beglologists are programmers that can use a language basic ability, such people can use subroutines, cycles, conditional statements, and many other languages.
Level 2: Intermediate-level programmers have the ability to use multiple languages and at least very familiar with a language. Level 3: Expert programming experts have a deep understanding of their language or environment or to these levels, which is valuable to the company, and some programmers often stay at this level. Level 4: Master Master has expert knowledge, and realizes that the program is only 15% and computer communication, and the remaining 85% is dealing with people. General programmers are only 30% of more than 30%. The code written by the master said that it is better to give a computer. The code written by the real master programmer is very clear and easy to understand, and they pay attention to establish a document. They also don't want to waste their energy to reconstruct the logical structure of the code segment to be clearly used in a note. A high level code that does not emphasize readability may stay at level 3 level, but the problem is nothing. According to people's own experience, the main reason for people to write unreadable code is that they have poor quality. They are not self-speaking: "I have the code that I have compiled, so I have to make it difficult to read", but they can't completely understand their own code, so that they can't be read, this This will only stay at 1 or 2 level. The worst code I have seen is written by anyone who will be daunting after anyone who reads her procedure. In the end, her boss threatened to fire her if she didn't change anything. Her code is not annotated, and the program is full of global variables such as X, XX, XXX, XX1, and XX2. Her code gives her a lot of opportunities to show her change. You don't have to be guilty for beginners or middlemen, you don't have to be an expert instead of yourself, you know how to improve your own level, you should stay in your initiator or expert. How long is it more guilty. Lazy lazy surface has the following: delaying the work that you hate to quickly finish your nasty tasks to get rid of the task to complete your nasty work to liberate yourself, there are some lazy forms to be better than other means . The first way is no benefit. You may have this experience: You often take a few hours to do something unnecessary, but I don't want to face the secondary job you can't avoid, I hate data input, but many procedures require a small amount of data input. Others know that I have been delayed for a few days because of the tasks that I can't get rid of the manually entering several data, this habit is "real lazy", you compile a sub-program to check the situation, so you It is also a lazy behavior that can avoid manual inspections. These small tasks are not as disgusting as it looks like it. If you develop the habits of these tasks, you can overcome this lazy. This kind of habit is "lazy" - lazy second way, you are still lazy, but you can avoid problems through the time you hate the problem. The third option is to write a tool to do this annoying work. This is "long lazy". It is undoubtedly a lazy in a lazy way, as long as you finally save time by writing tools, it is useful to have a certain degree of lazy. When you are not looking at the problem through the glass, you will see another aspect of lazy. "Do" or "strive" and cannot make a bright light. It is a unnecessary and unnecessary effort to drive. It just shows your anxiety, not your effort you work. The most important phenomenon in effective programming is that people often look busy in thinking. If I work with a very busy programmer, I will think he is not a good programmer, because he is not using the most valuable tool and his own mind to him. The good habit of habits is because most things you do for a programmer are all done in unconventional, for example, sometimes you may feel that I will use the indentation cycle, but now you write a new one. You won't think so when you loops. This situation does exist when the program is established.