ArcticCore重构-问题列表1
基于官方arc-stable-9c57d86f66be,AUTOSAR版本3.1.5
基本问题
Arctic Core中的代码组织有很多有待改进的地方,这里先提出几点:
1. 头文件引用混乱,所有头文件通过从搜索路径(-I)中引用,存在名称污染问题,需加入路径信息;
2. 编译系统中代码文件是否编译及目标文件集中定义在boards/board_common.mk,而非分属各自模块;
3. 编译系统中所有代码文件通过搜索路径(VPATH)中搜索,存在名称污染问题,需加入路径信息;
4. 编译系统中模块开关宏CFG_%和USE_%混用;
5. 编译系统中模块开关宏分散处在多个Makefile文件,应当集中在一个顶层Makefile中配置,如.config;
6. 编译系统中路径引用多使用相对路径,再加上make -C变换,容易绕晕;
7. 编译系统中使用MAKE_LEVEL变量区分引用层次,过于复杂,可以简化;
另外还有一个AUTOSAR划分不清楚的问题,
8. AUTOSAR中MCAL虽然包含各种drvier,但毕竟是AL即抽象层,不应包含architecture和device特定的信息。应该只包含模型定义,不包含实现细节。
ArcticCore重构-问题列表1的更多相关文章
- ArcticCore重构-VALIDATE_%
基于官方arc-stable-9c57d86f66be,AUTOSAR版本3.1.5 基本问题 Arctic Core中使用了VALIDATE, VALIDATE_RV, VALIDATE_NO_RV ...
- AUTOSAR ArcticCore重构 - for_each_HOH
Arctic Core是AUTOSAR的实现,早期版本是开源的. 基本问题 在ARM架构下对CAN driver的实现(arch/arm/arm_cm3/drivers/Can.c)中,有这样一段代码 ...
- C#重构之道
定义 重构的定义:在不改变软件可观察行为的前提下,改善其内部结构. 其中,不改变软件行为,是重构最基本的要求.要想真正发挥威力,就必须做到“不需了解软件行为”. 如果一段代码能让你容易了解其行为,说明 ...
- eclipse 重构(转)
Eclipse中的重构类型 如果你看一下Eclipse的重构菜单,可以看到四部分.第一部分是撤销和重做.其他的三部分包含Eclipse提供的三种类型的重构. 第一种类型的重构改变代码的物 ...
- 【重构】AndroidStudio中代码重构菜单Refactor功能详解
代码重构几乎是每个程序员在软件开发中必须要不断去做的事情,以此来不断提高代码的质量.Android Stido(以下简称AS)以其强大的功能,成为当下Android开发工程师最受欢迎的开发工具,也是A ...
- Android Studio在代码重构中的妙用
代码重构几乎是每个程序员在软件开发中必须要不断去做的事情,以此来不断提高代码的质量.Android Stido(以下简称AS)以其强大的功能,成为当下Android开发工程师最受欢迎的开发工具,也是A ...
- Android Studio快捷键每日一练(6)
原文地址:http://www.developerphil.com/android-studio-tips-of-the-day-roundup-6/ 51.重构代码 苹果:Ctrl+T Win ...
- Intellij IDEA 使用小结
快捷键 核心快捷键 IntelliJ IDEA 作为一个以快捷键为中心的 IDE,为大多数操作建议了键盘快捷键.在这个主题中,您可以找到最不可缺少的列表,使 IntelliJ IDEA 轻松实现第一步 ...
- [No0000BB]ReSharper操作指南4/16-配置ReSharper代码快修与导航
代码问题的快速修复 ReSharper可以帮助您立即修复设计时检测到的大部分代码问题.就像按Alt+Enter突出显示的代码问题一样简单,并选择合适的方法来解决问题或改进次优代码. GIF 应用快速修 ...
随机推荐
- XML Publisher Report Issues, Recommendations and Errors
In this Document Purpose Questions and Answers References APPLIES TO: Oracle Process Manufactu ...
- 程序员的软实力武器-smart原则
smart对于程序员来说不是仅仅意味一个法则: 面对需求和提出需求时候,smart原则可以极大的提高效率 目标管理是使管理者的工作由被动变为主动的一个很好的管理手段,实施目标管理不仅是为了利于员工更加 ...
- 使用Visual Studio创建图片精灵(Image Sprite)——Web Essential
原文:Creating Image Sprite in Visual Studio - Web Essential 译者注:有关图片精灵的信息请参阅http://baike.baidu.com/vie ...
- React Native开发必备的10个插件包
Sublime Text 具有漂亮的用户界面和强大的功能,例如代码缩略图,多重选择,快捷命令等.Sublime Text 更妙的是它的可扩展性.所以,这里挑选了全栈开发必备的10款 Sublime T ...
- 【Visual C++】游戏编程学习笔记之七:键盘输入消息
本系列文章由@二货梦想家张程 所写,转载请注明出处. 作者:ZeeCoder 微博链接:http://weibo.com/zc463717263 我的邮箱:michealfloyd@126.c ...
- java注解及在butternife中的实践和原理
1. 背景 之前去一个公司,说到了java的注解,问java的注解有几种方式,然后我提到了android中的butternife和afinal注解工具,我们知道butternife在6.1版本的时候 ...
- Linux - 设置Centos控制台模式的分辨率
因为我的Centos是用VMware虚拟机安装的,所以这里和直接安装的Centos修改值不太一样. 修改文件: 注意是在启动的系统条目后面"quiet"字段的加上 vga=0x36 ...
- Linux - sed 工具
我们先来谈一谈 sed 好了, sed 本身也是一个管线命令,可以分析 standard input 的啦! 而且 sed 还可以将数据进行取代.删除.新增.撷取特定行等等的功能呢!很不错吧- 我们先 ...
- PS 图像调整算法— —渐变映射
这个调整简单来说就是先建立一张lookup table, 然后以图像的灰度值作为索引,映射得到相应的颜色值.图像的灰度值是由图像本身决定的,但是lookup table 却可以各种各样,所以不同的lo ...
- 脚本自动化 ant
用ant,shell下也可以用make. 1,ant 是一个自动化编译工具,安装使用. 2,编写build.xml,核心,写明进行哪些操作,删,建,编译,javac,java等,从例子可以看出每个操作 ...