当前位置:网站首页>Seven original sins of embedded development
Seven original sins of embedded development
2022-07-06 21:09:00 【Guangdong embedded Education】
Every industry has its best practices and evil practices . Great sin is a practice that many people know , But these practices are too tempting or too easy to fall into . There are many such sins in the embedded development industry , But there are seven special crimes that seem to have existed in the whole industry for decades .
The original sin 1—— Do not track indicators
Failure to track development metrics seems to be a minor sin , But indicators are an integral part of Embedded Software Engineering . Metrics not only provide a way to track progress and problems , An estimation method is also provided . Engineers are often asked ,“ How long will it last ?” or “ How much will it cost ?”. Time and cost issues should be based on empirical data , Instead of improvisation related to the optimism of the Engineer at that time . It is extremely difficult to determine how much flash memory space a microcontroller needs without basic metrics tracking . If there is no tracking , How engineers know about typical digital inputs / Output or UART How much does the driver take RAM/ROM?
The original sin 2—— Hackers, not designers
In the last ten years or so , The concept or idea of becoming a hacker or even a creator has been romanticized by society . Society has accepted this concept , That is, a software engineer should be a rogue hacker , No design or foresight is needed , Can create a revolutionary in a very short time “ complete ” product . The fact is that embedded software engineering is not a hacker discipline . Embedded developers need foresight and design to be truly successful . One of the most common mistakes is that there is no blueprint 、 Crazy design or flow chart dash Code writing , It happens to work under the simplest test cases and conditions , And is considered worthy of release , Because it is “ Functional ”. Implementation and testing should follow the design and architecture .
The original sin 3—— Starting from scratch
Go deep into the deepest level of hardware , And create something in the real world through software , This is both interesting and exciting . Embedded software engineers want to develop everything related to software , From the bottom , Until the application code . The problem with doing everything and starting from scratch is that it's time-consuming and expensive , But this is the first instinct , And usually insist on starting from scratch . Embedded systems have become too complex , Development time is too short , So that ordinary projects cannot start from scratch . Supplier code should be used 、 The first 3 Square component 、 Open source and other standards to complete the work . Since there are so many commercially available and tested alternatives , Why develop your own RTOS?
The original sin 4 – Tools not suitable for work
Strangely enough , When embedded developers need software tools to complete their work , image lint Basic tools like tools are rejected , Because their price is only a few thousand dollars . Simply look at the return on investment of software tools compared with the annual cost of engineers , It should be seen that software tools can complete the work faster and with higher quality .
The original sin 5—— Lack of Continuing Education
The number of transistors in the processor doubles every two years . The functions and technologies used and developed by embedded software engineers are indeed changing at an exponential rate . Although the industry changes rapidly , But many companies do not plan or encourage their engineers to attend meetings or training . Part of the reason for the lack of continuing education seems to be due to the design cycle schedule and pressure . There are too many things to do , A company cannot let its engineers or costs not work for a few days . The real question companies should ask is , Without the latest developed technology and knowledge , Whether they have the ability to hire engineers .
The original sin 6—— Working hours are too long
When the deadline is coming , When there are no extra people , What will happen ? Embedded developers work overtime . Working too long is a common problem for embedded software engineers . Firmware dominates the world , But now there are not enough firmware engineers to produce all the equipment that society needs . What's worse is , The speed of social demand for these devices is getting slower . There is always an impulse to complete the software yesterday . However, working too long is bound to wear out . Instead of accelerating delivery , Delivery will only be delayed . Don't fall into the trap of persistent timeout . A fresh mind is more exhausted than one 、 An exhausted mind works much faster , Much more efficient .
The original sin 7—— Failure to follow best practices
MISRA-C、CERT-C And many other industry standards contain the knowledge and wisdom of countless embedded developers . Experienced engineers have done it there , Not only learn from their own mistakes , Also learn from others' mistakes , Developed such a standard . However , Due to time constraints 、 Deadline stress or other obstacles , Many developers ignore the best practices of embedded software .
Conclusion
There are major crimes in all walks of life . Best practices are often designed to help prevent them , Or at least encourage correct behavior . When the deadline approaches , When the pressure increases , The temptation to fall into these seven sins is almost irresistible . Every embedded developer and company has been their victim to some extent . The real concern is how often , What can we do to get back on track .
边栏推荐
- Leetcode hot topic Hot 100 day 32: "minimum coverage substring"
- OSPF multi zone configuration
- js中,字符串和数组互转(二)——数组转为字符串的方法
- Web开发小妙招:巧用ThreadLocal规避层层传值
- 968 edit distance
- 966 minimum path sum
- 正则表达式收集
- MLP (multilayer perceptron neural network) is a multilayer fully connected neural network model.
- The biggest pain point of traffic management - the resource utilization rate cannot go up
- Mécanisme de fonctionnement et de mise à jour de [Widget Wechat]
猜你喜欢
Why do job hopping take more than promotion?
2017 8th Blue Bridge Cup group a provincial tournament
【OpenCV 例程200篇】220.对图像进行马赛克处理
Study notes of grain Mall - phase I: Project Introduction
Distributed ID
The biggest pain point of traffic management - the resource utilization rate cannot go up
2022 fields Award Announced! The first Korean Xu Long'er was on the list, and four post-80s women won the prize. Ukrainian female mathematicians became the only two women to win the prize in history
PHP online examination system version 4.0 source code computer + mobile terminal
Laravel notes - add the function of locking accounts after 5 login failures in user-defined login (improve system security)
【mysql】触发器
随机推荐
OSPF multi zone configuration
Detailed explanation of knowledge map construction process steps
After working for 5 years, this experience is left when you reach P7. You have helped your friends get 10 offers
Is it safe to open an account in flush? Which securities company is good at opening an account? Low handling charges
None of the strongest kings in the monitoring industry!
Why do job hopping take more than promotion?
愛可可AI前沿推介(7.6)
HMS Core 机器学习服务打造同传翻译新“声”态,AI让国际交流更顺畅
Entity alignment two of knowledge map
1_ Introduction to go language
1500万员工轻松管理,云原生数据库GaussDB让HR办公更高效
7、数据权限注解
【OpenCV 例程200篇】220.对图像进行马赛克处理
Dynamically switch data sources
Variable star --- article module (1)
Aiko ai Frontier promotion (7.6)
Nodejs教程之让我们用 typescript 创建你的第一个 expressjs 应用程序
'class file has wrong version 52.0, should be 50.0' - class file has wrong version 52.0, should be 50.0
正则表达式收集
15million employees are easy to manage, and the cloud native database gaussdb makes HR office more efficient