一个人的文字表达多多少少显示出program方式
看来你就是写得太耦合了
最好的方式就是在你上面弄一层Abstraction Layer
解耦掉你与X、Y、I的相依
OSI七层就是一层层往上抽象且标准化,所以像TCP/IP可以互相资料交换
而"但那只程式的 domain know-how 比较多是跟 A系统有关。"
那当然就是你来写资料交换的底层是最有效率的
例如:
CODEC IC设计工程师除了要写verilog外
还要写到 Open(), Close() function内的register填法(简单的c, 没MultiThread的)
然后用Open(), Close()的抽象function解耦掉底层的CODEC domain know-how
user space软件工程师只需要会使用Open(), Close()的抽象function即可
即,IC design house最有效率的团队是没Firmware工程师
而是由IC设计工程师往上cover一点
应用软件工程师往下cover一点
而没有一个中间的firmware工程师往下、往上都问一点
除了没有IC designer的系统厂
才需要Firmware工程师去找FAE问看register要怎么填
※ 引述《scottshai (打字猴)》之铭言:
: 最近在软件开发上遇到一些状况,
: 这状况最后的结局是导致测试及撰写文件的人要加班把东西弄好。
: 但细想整个流程,感觉我同事这加班是可以避免的,
: 所以想Po来询问大家,如何用最少的时间,做到一样的事情。
: 有三个系统 A、X、Y,
: 角色有 PM-A、PM-X、PG-A(我)、PG-X、辅导,
: 公司都称测试及撰写文件的人叫辅导 (虽然我查网络好像没特别这样说)
: X 跟 Y 系统两者之间的功能只有些微不一样;
: A 与 Y 之间资料交换的程式已经上机有好一阵子,
: 整个传送的过程也都很顺利;
: 今年8月底的时候客户要求 A 跟 X 也要有一样资料交换的程式,
: 同时因为 X 跟 Y 有些不一样,来自 X 的资料在 A 前端显示会有些微不同,
: 程式要求9月底交付;
: PM-A 了解需求后告诉我怎么做,
: 因为知道有时间压力,所以把 A系统 这边的程式在9月初完成后发测,
: 结果测试一直出现错误,大部分的原因是 X系统 要与 A 交换的程式有缺漏,
: 使得传过来给 A系统 的资料不完全, A系统因此一直报错。
: 来回几次之后在今天 PM-X 跟我说 A 前端的显示
: 跟当初 PM-A 说有些不一样,以及今天要将文件完成先交给客户,
: 今天下班前 辅导问我说这个要改好要多久,
: 我想了一下大概要一个小时,由于前端显示并没有差很多,
: 辅导决定用修图的方式先把文件做出来,
: 想到我可以明天一早上班就先处理掉,就准时下班了。
: 过去我划分职责的方式是照程式是写在哪个系统上的,
: 但依照这分法,A 与 X 个系统间的资料交换,程式写在 X 系统,
: 所以不是我负责的,
: 但那只程式的 domain know-how 比较多是跟 A系统有关。
: 所以我应该要在开发过程中去主动了解那只程式的状况,
: 来避免我的同事加班吗?
: 更进一步的来说,A、X、Y 三个系统都是同一家公司负责的,
: 所以有问题只要走到彼此办公位置讨论就好,很方便;
: 但 A 跟 其他公司的系统 I 也有资料交换,如果以后要增加资料交换的功能,
: 程式开发时间势必会因为电话及邮件来往间耗掉很多时间。
: 不知道大家听到上述状况,有没有什么想法呢?
: 是不是有更好的作法,能够花更少的力气,做到一样、甚至更多的事?