I saw a lot of programmers in the company to buy "XX Collection", "XX Design Case", looked at the price, each is close to 100. You also ask me to ask the company to buy some books in this area.
In a word, the above book is not used, its thinking is not much, but there is not much guiding role, and the case will also affect the ideas of the position.
About the software design, I don't want to take the bending road I have passed, don't spend the money I have already spent. As a design, the classic book "Java Design Thought", "C Design Thoughts", "Design Mode", "UML Theory", etc., there are already 10. You need to digest, rest, you will use Google. However, remember a principle, make it clear about why, not HOW. For basic theory, even if you don't understand, eat, you have to force yourself to look down every day; for skillful techniques, you should be able to put it in the final consideration.
I. Tianship and try to believe in the statement, whether it is playing and doing things, it is extremely arrived, it is the talent. You have introduced your guitarist that I have been introduced to your nationwide guitar, you have heard his performance. As a learning computer, because of the hobbies change the career, it is the talent. But I also don't believe in the statement, the musicians you have come into contact with the only one with my face, because I said that he has a day. Yes, talent and diligence are the factors that become extremes. However, the same, I am not a scientist in the software field, and no one is still in any field, I dare to say my own capsule. As an ordinary person, we need to work hard. And efforts are to find ways.
At the high school, I got the second place in the province's software design. I did the calculation average division and ranking programs than my teacher. Many people think it is a talent, truth is not. Although the teacher only taught me 17 orders, I have a condition to go to the Meteorological Bureau, the school president time is uploaded. My classmates are there without this condition, even my teacher; including the teacher, no one The book, all the teacher's notes, but I have a book. Work hard is what I have different from them. Big First, on the LF16500 machine, I made the first game of the whole school - gambling horses, win the cuisine of the classmates. This is very simple today, but it is hard to think about it. You think, students need a 10-minute program, I get it in 3 minutes, 2 hours a week, this is very valuable. Not my smart, but I have a foundation in high school, I can ask the teacher more questions; in order to improve the speed of entry (can not store), I have done a wood keyboard to practice. Efforts is the difference. Big Second, when the classmate is still logging in to the small machine, how to make a job, etc., I have learned to use the printing paper of the classmate, you can do more things. It is not a talent, but a big foundation that makes me taught me more things.
For our ordinary IQ, efforts are key.
Second, the foundation and method have efforts, it has the foundation. From the semester, my teacher (the reason is the teacher is a great impact on me) I have read the anti-appointment code of DOS3.3 with a few students with another classmate. At many students busy learning FoxBase, even throwing the school teaching Pascal, c. At the end of the dress, the problem was displayed when graduated.
The big four graduation thesis, many students use FoxBase to help some schools design student archives management, including my friends (bridge), 3 and a half years, I have never seen anything in FoxBase, but friends come to help I spent 2 weeks, giving my friends to make their graduation papers, as a result, the classmates of almost all such graduation papers in class have used this procedure. This difference is the method and foundation of thinking about the problem. "Software Engineering", "Data Structure" I didn't take the exam, and the two homework is exempted. I helped the teacher to rewind. There is a question worthy of attention. At that time, when I was busy with "curtain opening" and other interface design, I didn't think of these things when I greeted. Because the software engineering church, I am concerned with the main contradictions. I summed up a word: the overall is wrong, and the part is good, it is useless. There is a conclusion: the theory is very boring, but it is a guide to action. I personally think that the best way is based on theory, then go to analysis. III. Object-oriented design and learning affects I am concerned that the object-oriented is Pascal 5.5 proposing support for object-oriented design (so I didn't learn Turbo C 2.0), one of which, deeply affected me. "Watering the tree, the tree will grow; watering the car, the car will not grow up." I think this is very simple and classic, it is worthy of understanding. Self-thought to master many objects, but until 98, downloaded from the Internet to "Thinking in Java", later translated into "Java Programming Thought", I found that I used to use object-oriented tools to develop the process-oriented procedure . Until 99 "Design Patterns" book was downloaded by me, I have a feeling of entry.
I found that I have received many "books", "programming", have accumulated a lot of mis mind and bad program habits.
The following code is the typical way of writing this type of book: (this is the code I re-found on a book when I send this post) String strconnection = "server = test; database = northwind; uid = sa; pwd ="; sqlConnection conn = New SqlConnection; string strsql = "select * from customers"; dataset ds = new dataset ();
SqlDataAdapter adapter = new SqlDataAdapter (strSQL, conn); adapter.Fill (ds, "Customers"); DataView objDataView = new DataView (ds.Tables [ "Customers"]); dgNameList.DataSource = objDataView; dgNameList.DataBind (); As an example, it is not uncommon; but as a commercial software design, the above is worth discussing. However, as a learner, it is not the main first, see the above design? With this structural design process, the peers of various subsequent fruits will be repayed here. In 1998, I was the company in four layers of structural development, (Browser - Web Server - Application Server - DB Server) I was ordered to separate the Runtime section of the development of Netscape Company's Application Server, (at the time Application Server, its predecessor Netscape acquired Kiva, too expensive, a CPU, more than 1 million) Although the separation work failed (the center part of the 4.0 version was written by the SUN, the name was changed), but I feel their program structure, design structure. Therefore, I finally sent a post in the NetEase forum, I got started. Later, when I used JRun's entire system, I took a half-year time reading. I got the following conclusions: the most important design, but a good design is the product that is deeply understood from the most basic concept. "Single object completes a single function", which is almost what is mentioned in every object-oriented book. This is the biggest thus of Jrun, in love with something such as design patterns, UML. Recently, read what is the most basic theory of objects, and many things suddenly realize. Object-oriented design, the foundation is most important. Perhaps, from this sentence, you can see "Looking for objects, there is no right to make the error, only the good and bad", because there is no right, so the test of the designer's skill. "
Fourth, educational and learning misunderstanding IT programmer is indeed a few years, in fact, this thing is not difficult than other majors, so it will not be high-grade. The development of technology makes programming learning easier, and it is increasingly mastered, which is inevitable in technology development. The current college curriculum design is also very prominent, which is very good. However, from the candidates for the students, I think many students have entered some misunderstandings, and there are many kinds of this misunderstanding. There is a kind of person who seems to be very jealous. It refers to the research and development based on LDAP (Lightweight Directory Access Agreement), seeing my eyes. This is system-level idea, understanding this concept and developing people, is Talent is coming, there is a potential to dig. I know later that it is not like this, I know a noun, call a few functions. There is a kind of affected by social atmosphere, thinking that learning J2EE can go all over the world. Write a JSP program, is J2EE? The foundation is not, and the architecture is talking. Most people want their own things to run immediately and become money. This idea is reasonable for a programmer or project manager that has entered the occupational field, and IT technology is so fast, and it is unemployed. But use the mentality of Why, not how to think, is the foundation for seeking greater development. Because, it is designed for a long time, it will find that language is not important, local code skills are not important. But every study, the basic theory of the same capital in each design is the most important. The school is very difficult to design a good course. Not actually practicing, why talk about the understanding of basic theory, this is "chicken and egg problem". Therefore, many schools typically open a course based on language teaching, especially in junior college, secondary school, why? Graduation is easy to find, what language can be written on the application, what system has been developed? In fact, many of my peers, for new hands, more is to look at potential rather than see what they will. What is the potential? One point, the other's thinking mode is the problem of concept. 5. Negate and affirm that our ordinary technicians, believe 1 1 = 2, in the process of learning, practice, and negate themselves, let the practice adjust. I personally sometimes get started, and I feel that I don't understand myself for a while. But after each of this doubt, technology is made greatly. 1 1 is not equal to 2, it is a scientist. We can't do it, it is not necessary. As a non-school-level, we have to do it, I believe they give us the theory, go to learn, and use it. Do one thing, because it is very good, it is very difficult, and it needs perseverance. For example: There is a WinPM software, managing the contact, this software has a certain reputation, this old brother has made a few years, from a very simple software, it is not easy to develop to the domestic comparison software. It's really a matter of truth, it is different from the improvement and feelings. It is too easy to find new things to find every day. Strive to use the techniques and theories that have been mastered now, have a new meaning, and understand the future application, I think this is a method of technician learning.