As a software engineer, you must know 20 common sense __ Software engineer

Source: Internet
Author: User
Tags i18n version control system

From Romandion's column.

As a good software development engineer, the following common sense you know. In the actual work has not summed it up. Small knitting will bring everyone to share these 20 software development common sense.

1. For object-oriented design and analysis: In order for software to have better maintainability, reusability and rapid development, the short ooad and its solid principles should be kept in mind for every software engineer.

2. Software Quality factors: Software engineering is good or bad and software quality factors are absolutely related. 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, and the use of good algorithms in key parts of the software development process. So the whole software logic will be very clear.

4.big-o notation to mark algorithmic complexity: During development, be sure to use big-o notation to compare the time complexity of two code snippets or different algorithms, which is important in developing high-performance software projects.

5.UML diagram: UML diagrams are already a common language for software design and analysis. If you haven't done a UML diagram in the process of developing the software, the feeling is that it's not software engineering at all.

6. Correct measurement of software development progress.

7. Design pattern: Design pattern is a set of standard countermeasures that the predecessors summed up in the process of solving various problems, in most cases, the use of these models is certainly more advantages than disadvantages. If you don't want to reinvent the wheel in the development process, use it directly.

8. Understand the fundamentals of the operating system: because all applications run directly at the operating system level, learning the fundamentals of the operating system allows us to have a better grasp of the bottom and performance of the application.

9. Learn the principles of computer composition: almost all applications and even OS have to deal with physical hardware, so learning the principles of computer composition and understanding the principles of the operating system 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. Requirements Analysis: For software engineering, requirements analysis is the starting point of the project, but also the most important part of the whole project. If you get it wrong, the whole project is 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 have to know.

13. Independent management: Mainly to say class library (Jar,dll, etc.) management, familiar with a number of similar maven,ant,lvy such well-known tools for large-scale project class library management is very useful.

14. Continuous Integration: Continuous integration enables testing of large modules and components to be simpler and more automated, and you can learn more about Hudson as a tool.

15.ORM: Understanding Hibernate This mapping tool for objects and database tables is very beneficial, it can reduce your code and save your code maintenance time.

16.DI (Standalone injection): DI or IOC (inversion of control) concrete implementation Framework spring makes it easier for you to create objects, especially for large enterprise-level projects.

17. Version control system: VSC tool (SVN,TFS,CVS, etc.) is very important for team development and version control. Proficiency in the use of such tools is an essential skill.

18. Internationalization: Using i18n to store strings of different languages in other files is the best way to enable software to support multiple languages. So the methods that i18n use on different Ides should be understood.

19. Architecture pattern: It's critical to understand architecture patterns like MVC,MVP,MVVM, which allows you to write code that is easy to maintain, concise, and easy to test.

20. Writing Clean code: Your code is simply not enough to work properly, it must make the programmer easy to understand to facilitate subsequent maintenance, so the code format and write readable code technology are the key points we need to understand.

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.