20 common sense that you must know as a software engineer

Source: Internet
Author: User

1. object-oriented design and analysis: To improve Software maintainability, reusability, and rapid development, the brief OOAD and its solid principles should be kept in mind for every software engineer.

2. Software quality factors: the quality of software engineering is absolutely related to the quality factors of software. Please deeply understand this in the development process.

3. data structures and algorithms: a deep understanding of basic data structures such as arrays, lists, stacks, trees, graphs, and collections, and using good algorithms in key parts of the software development process. In this way, the entire software logic will be clear.

4. Big-O symbol to mark algorithm complexity: during development, you must use the big-O symbol to compare the time complexity consumed by two code segments or different algorithms, this is very important in developing high-performance software projects.

5. UML diagram: UML diagram is a common software design and analysis language. If you haven't made a UML diagram while developing the software, you will feel that it is not software engineering at all.

6. correctly measure the software development progress.

7. design pattern: the design pattern is a set of standard countermeasure summarized by the predecessors in the process of solving various problems. In most cases, using these pattern is definitely more advantageous than a disadvantage. If you don't want to recreate a wheel during development, use it directly.

8. Understand the basic principles of the Operating System: because all applications run directly at the operating system level, learning the basic principles of the operating system gives us a better grasp of the underlying and performance of the application.

9. Learning the computer composition principle: almost all applications and even operating systems need to deal with physical hardware, therefore, learning the computer composition principles is the same as understanding the operating system principles, which gives you a deeper understanding of applications.

10. Network basics: networks and computer components, operating systems, and transmission processes are closely related. Understanding the network basics helps you develop your skills.

11. Requirement Analysis: for software engineering, requirement analysis is the starting point of the project and the most important part of the entire project. If you make a mistake, the direction of the entire project will be wrong.

12. Software Testing: in software engineering, testing is also very important. Unit Testing, black box testing, white box testing, TDD, integration testing, and so on are all required.

13. Independent Management: mainly refers to the management of class libraries (jar, DLL, etc.), familiar with using Maven, ant, famous tools such as lvy are very useful for class library management of large projects.

14. Continuous integration: continuous integration makes it easier and more automated to test large modules and components. You can learn about the Hudson tool.

15. Orm: It is very beneficial to understand hibernate, A ing tool that maps objects to database tables. It can reduce your code volume and save your code maintenance time.

16. Di (independent injection): the implementation framework of Di or IOC (inversion of control) Spring makes it easier for you to create objects, especially for large enterprise-level projects.

17. Version Control System: the VSC tool (SVN, TFS, CVS, etc.) is very important for team development and version control. Skillful Use of such tools is essential.

18. Internationalization: Using i18n to store strings of different languages in other files is the best way for software to support multilingual languages. Therefore, we should understand the i18n methods used in different ides.

19. Architecture mode: It is critical to understand architecture modes such as MVC, MVP, and mvvm. This allows you to write code that is easy to maintain, concise, and easy to test.

20. Write clean code: it is far from enough for your code to run normally. It must be easily understood by programmers for subsequent maintenance, the code format and the easy-to-read code technology are all key points to understand.

 

Address: http://www.open-open.com/news/view/bc0fb9

20 common sense that you must know as a software engineer

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.