当前位置:网站首页>STM32 and motor development (from MCU to architecture design)
STM32 and motor development (from MCU to architecture design)
2022-07-03 13:10:00 【Embedded - old fee】
【 Statement : copyright , Welcome to reprint , Do not use for commercial purposes . Contact mailbox :feixiaoxing @163.com】
Students who have worked in foreign-funded enterprises should have this feeling , It seems that foreigners are good at architecture design . In contrast to this , Domestic students seem to be better at writing code . Same design , Foreigners prefer to draw pictures , The text part has , But it is also half of the text and half of the picture ; Domestic students write less documents , I prefer to write code , Even when writing documents, words and tables account for a large part .
Think about it carefully , There's this difference , There are cultural reasons 、 differences , There are also differences in industrial segmentation , At the same time, there are also differences between eastern and Western working methods . What the West values more is communication 、 synergy 、 The interface is clearly defined ; The East stresses division of labor , Fully functional , Fast forward .
Take architecture design for example , No matter at the business level , Or technical level , Painting is indispensable . But the purpose of drawing is to build the model , Dig out the main contradiction of the problem 、 Main process , Not to draw a picture . If architecture design just stays on paper , Unable to land , That really became ppt Architect .
1、 Architects are not suitable for novices who just work
For starters , Maybe this part of personal development software is not very familiar , I don't know about business , It's not suitable to be an architect at this time . It's best to wait until you have some work experience , such as 3~5 It is more appropriate to become an architect slowly after 20 years .
2、 Architects are not the end of their careers
To put it bluntly , Architects just translate requirements into software modules one by one 、 Software subsystem 、 Even across pc Distributed systems , Extract the interface and main process . Specific module development also depends on engineers and development teams . Even if the architect is ready , His work also needs the cooperation of others , To make a finished software product .
3、 Software architects need to write their own code
If the architect doesn't write code himself , He has no way to know the complexity of the problem , There is no way to evaluate the development time of software modules , So generally speaking, architects need to write their own code .
4、 Communication is for architects , As important as technology
Architecture design is essentially an art of compromise , It needs manpower 、 Time 、 cost 、 Accumulation of knowledge 、 Complexity and other conditions . From this point of view , He needs to communicate with different people , For example, communicate with product economy , Communicate with developers , Communicate with the project manager, etc , therefore , Communication is very important for architects .
5、 Abstract ability is an important criterion to distinguish architects
A lot of people don't understand , Why should object-oriented have polymorphism . Actually , This is mainly because I don't understand software engineering . In the process of software development , For various functions , We must find a way to extract the main process . Besides , After the software is developed , Generally, there will be all kinds of new changes , If you have no abstract ability to the original logic , For these new requirements, if only the method of patching is used to solve , Code quality will only get worse , Finally, there is no way to use and maintain .
6、 The architecture diagram is the final output of the architect
From the complex requirements , Build a reasonable framework , Until the final code generation 、 Compile and deploy , This part requires a lot of architecture diagrams .uml Figure is a good method . The architecture is at the module level and in key sub functional areas , Each of these uml Pictures can be taken and used . for instance , The state machine does not mean that the high-level module is used , Low level development cannot be used , No such thing .
In the actual architecture process , Don't have any ideological baggage , Other pictures can also be drawn , For example, the structure diagram 、 Swimlane diagram 、 Brain map 、 fishbone diagram 、 Gantt Chart 、cad chart 、 Chart 、 Topology and so on , These can be used . What I use more personally is openoffice Of draw Software , Some people like it processon, It's all right .
Even the circuit diagram , It can also be completed by architecture design , such as soc Core board
7、 The architecture also needs to be updated in time
The reason why many students don't like writing documents is that the code updates quickly , Sometimes it is troublesome to update to the document . But the architecture is the same , If there are new changes that are not updated in time , Then architecture will eventually lose its meaning , No one will look at an outdated architecture diagram and document .
8、 Architecture is discussed
Many people talk about architecture , Not necessarily . Most of the time, architecture is discussed . First , The knowledge of architects also has certain limitations , Besides , The discussed architecture has less resistance to implementation ; Finally, since it is a discussion , There will be a process of persuasion and persuasion , This requires architects to have a global vision , Before actual development, you must reconsider your own architecture design , There are no obvious loopholes , So as not to make people laugh .
Besides , Many students think that architecture is made behind closed doors , Put the design pattern 、uml、java Open source framework 、 Three layer architecture 、 Do it in blocks and layers , You can do architecture design , It's not right . Architecture comes from business , It is also constantly adjusted , It is impossible to apply the template directly . The part mentioned above is only the meaning of operation , Essence is still the refinement of needs 、 Modeling and abstraction . This is the purpose of never changing , Is the starting point of all work .
9、 Architecture is not framework plus edition
Architecture is business centric , Not framework centric . The architecture is finalized , What frame is suitable for what frame , Never have preconceived concepts . I can use rtos, For all projects rtos. This will only add to your troubles , Let the development students at a loss , It deviates from the original intention of architecture design .
10、 Architecture allows you to have a holistic view 、 Close to money 、 Let more people work for you
There are many factors to consider when building an architecture , At this time, you will be required to consider all aspects . A thoughtless , We're going to push it over again , This is also a common thing . Another one is embarrassed to say , Software architecture is often about solutions 、 Out method , Compared with writing code , Software architects are much closer to money . meanwhile , With an overall vision , Architects can also arrange others to work , Constantly expand your ability boundaries , This is also not comparable to ordinary programmers . therefore , Generally speaking , The income of architects is much higher than that of ordinary programmers , That's one of the reasons .
边栏推荐
- CVPR 2022 image restoration paper
- [Database Principle and Application Tutorial (4th Edition | wechat Edition) Chen Zhibo] [Chapter V exercises]
- Fabric. JS three methods of changing pictures (including changing pictures in the group and caching)
- Elk note 24 -- replace logstash consumption log with gohangout
- When the R language output rmarkdown is in other formats (such as PDF), an error is reported, latex failed to compile stocks Tex. solution
- C graphical tutorial (Fourth Edition)_ Chapter 13 entrustment: what is entrustment? P238
- 【R】【密度聚类、层次聚类、期望最大化聚类】
- Fabric.js 更换图片的3种方法(包括更换分组内的图片,以及存在缓存的情况)
- Create a dojo progress bar programmatically: Dojo ProgressBar
- 【数据库原理复习题】
猜你喜欢
Sword finger offer14 the easiest way to cut rope
Sword finger offer 12 Path in matrix
Node.js: express + MySQL的使用
Analysis of the influence of voltage loop on PFC system performance
Low code platform international multilingual (I18N) technical solution
Integer case study of packaging
sitesCMS v3.1.0发布,上线微信小程序
ncnn神經網絡計算框架在香柳丁派OrangePi 3 LTS開發板中的使用介紹
Deeply understand the mvcc mechanism of MySQL
Glide question you cannot start a load for a destroyed activity
随机推荐
The 35 required questions in MySQL interview are illustrated, which is too easy to understand
Export the entire Oracle Database
Elk note 24 -- replace logstash consumption log with gohangout
【数据库原理及应用教程(第4版|微课版)陈志泊】【第七章习题】
Sword finger offer 15 Number of 1 in binary
Leetcode234 palindrome linked list
Luogup3694 Bangbang chorus standing in line
Sitescms v3.0.2 release, upgrade jfinal and other dependencies
Sitescms v3.1.0 release, launch wechat applet
Tencent cloud tdsql database delivery and operation and maintenance Junior Engineer - some questions of Tencent cloud cloudlite certification (TCA) examination
【习题七】【数据库原理】
剑指 Offer 15. 二进制中1的个数
Image component in ETS development mode of openharmony application development
Simple use and precautions of kotlin's array array and set list
2022-02-09 survey of incluxdb cluster
C graphical tutorial (Fourth Edition)_ Chapter 20 asynchronous programming: examples - using asynchronous
[Database Principle and Application Tutorial (4th Edition | wechat Edition) Chen Zhibo] [Chapter III exercises]
Useful blog links
Quick learning 1.8 front and rear interfaces
[exercise 7] [Database Principle]