营收|嵌入式开发:硬件工程师的 10 个软件技巧( 二 )


技巧6——使用处理器示例代码试验外设在设计硬件时 , 构建原型测试电路总是有帮助的 , 这样可以确保工程师在布局电路板之前对电路的理解是正确的 。 写软件也可以这样 。 硅制造商通常有示例代码 , 可以用来测试微处理器的部件 , 以便工程师可以了解部件的工作原理 。 这允许洞察软件架构应该如何组织以及可能遇到的任何潜在问题 。 在设计过程的早期识别潜在的障碍 , 而不是在发货前的最后几个小时才发现 。 这是预先测试代码片段的好方法 , 但是要注意 , 制造商代码通常不是模块化的 , 在实际应用中不需要大量修改就可以轻松使用 。 随着时间的推移 , 这种情况一直在改变 , 也许有一天会从芯片提供商那里得到生产就绪的代码 。
技巧7——当处理任何复杂的任务时 , 最简单的方法是把它分成更小更简单的任务 , 这样更容易处理 。 随着任务或功能变得越来越复杂 , 人类越来越难跟踪所有细节而不出错 。 当一个函数被写出来的时候 , 它的复杂性在当时看起来是合适的 , 但是当它需要在六个月后被维护的时候 , 工程师将会如何看待它应该被考虑 。 有很多方法可以测量函数的复杂度 , 比如圈复杂度 。 有一些工具可以自动计算函数的圈复杂度 。 一般经验表明 , 圈复杂度低于10的函数是理想的 。

技巧8——使用源代码库并提交经常犯错是人类的一部分 , 当人类编写代码时 , 他们不会奇迹般地改变 。 这就是嵌入式开发人员使用源代码库至关重要的原因 。 源代码库允许开发人员签入一个好的代码版本 , 并描述对代码库做了哪些更改 。 这使得开发人员不仅可以恢复或回到旧版本的代码 , 还可以比较以前版本的变化 。 如果开发人员做了一堆改变 , 然后破坏了系统 , 回到一个好的代码版本只是一个点击!请记住 , 如果代码没有被频繁地提交 , 那么存储库将不会像预期的那样工作 。 如果进行了不可逆转的更改 , 等待两周提交代码然后返回将会损失大量的工作和时间!
技巧9——彻底记录代码在软件开发的激烈竞争中 , 很容易只关注代码的编写和调试 , 而忽略记录 。 文档经常成为项目任务的结尾 , 因为当有压力时 , 它是开发人员最不想做的事情 。 然而 , 重要的是当代码在你的脑海中还清晰的时候 , 记录下来 , 这样将来的开发人员或者你自己就可以阅读注释并理解代码是如何工作的 。
技巧10——使用敏捷开发过程当进行任何类型的工程设计时 , 总是建议定义并遵循某种过程 , 其结果是一致的质量、成本和按时交付 。 嵌入式开发人员已经成功地使用敏捷开发过程来开发高质量的软件 。 该流程允许开发具有优先级的需求 。 最高优先级的任务首先在一个被称为迭代的预定时间段内执行 。 该过程的美妙之处在于它允许软件开发过程是流动的 , 允许需求和任务根据客户的结果和需求随着每次迭代而适应和改变 。