As a software engineer, you have to know 20 common sense

Source: Internet
Author: User
Tags data structures i18n version control system
As a good software development engineer, the following common sense you know. In the actual work has not been summed up. 
  Small series to take you to share these 20 software development common sense.

  1, for the object-oriented design and analysis: In order to make the software more maintainable, reusability and rapid development, the short ooad and its solid principles for every software engineer should be remembered. 2, Software Quality factors: The quality of software engineering and software is absolutely relevant factors.

  Please understand this deeply during the development process. 3. Data structure and algorithms: a deep understanding of such basic data structures as arrays, lists, stacks, trees, graphs, sets, etc., and the use of good algorithms in key parts of the software development process.

  This will make the entire software logic clear.

  4, Big-o symbol to mark the complexity of the algorithm: in the development process, it is important to use the big-o notation to compare the time complexity of two code snippets or the different algorithms, which is of great importance in developing high-performance software projects. 5, UML diagram: UML diagram is a general software design and analysis of the language.

  If you do not have a UML diagram in the process of developing the software, the feeling is that this is not software engineering at all.

  6, the correct measurement of software development progress. 7. Design pattern: Design pattern is a set of standard countermeasures that have been summed up in the process of solving various problems, in most cases, the use of these models is certainly more beneficial than the disadvantages.

  If you don't want to reinvent the wheel during the development process, use it directly.

  8, understand the basic principle of the operating system: Because all applications are running directly at the level of the operating system, learning the fundamentals of the operating system can give us a better understanding of the bottom of the application and performance.

  9, learning the principle of computer composition: almost all applications and even the OS need to deal with physical hardware, so learning the principle of computer composition and understanding of the operating system as well as the principles can give you a deeper understanding of the application.

  10, Network Foundation: Network and computer composition, operating system and transmission process are closely related, understand the Network Foundation can let you in the development process handy. 11, demand analysis: For software engineering, demand analysis is the starting point of the project, but also the most important part of the whole project.

  If you make a mistake with this thing, the whole project will be in the wrong direction. 12, Software Testing: In software engineering, testing is also very important.

  Unit testing, black-box testing, white-box testing, TDD, integration testing, etc. are all we need to know.

  13, independent management: mainly refers to the management of the class library (Jar,dll, etc.), familiar with the use of some well-known tools such as Maven,ant,lvy for large-scale project class library management is very useful. 14. Continuous Integration: Continuous integration enables the measurement ofIt's easier and more automated to test large modules and components, so you can learn about the Hudson tool.

  15. ORM: Understanding hibernate This is very beneficial for objects and database table mapping tools, which can reduce your code volume and save your code maintenance time.

  16. Di (Independent injection): the concrete implementation framework of DI or IOC (inversion of Control) spring makes it easier to create objects, especially for large enterprise-level projects. 17. Version control system: VSC Tools (SVN,TFS,CVS, etc.) are very important for team development and version control.

  Skilled use of such tools is a must-have skill. 18. Internationalization: Using i18n to store strings in different languages in other files is the best way to enable the software to support multiple languages.

  So the method that i18n uses on different Ides we should understand.

  19. Architecture Mode: Understanding architectural patterns like MVC,MVP,MVVM is critical, allowing you to write code that is easy to maintain, concise, and easy to test.

20, write clean code: Your code just can run normally is not enough, it must be easy for programmers to understand to facilitate subsequent maintenance, so, the code format and writing easy-to-read code technology are the key points we need to understand.
 Source: Web Developer

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.