首页 > 其他分享 >随想录(设计软件模块的接口)

随想录(设计软件模块的接口)

时间:2022-11-23 11:32:10浏览次数:51  
标签:函数 随想录 接口 模块 软件 设计 os


    开发软件是一件复杂而且辛苦的工作,不同的模块之间的逻辑需要考虑,应用层与底层的关系也需要考虑。模块之间的关系处理不好,就会给软件的编写质量带来影响。当然不管软件是怎么设计的,有一件事情都是需要好好注意的,那就是软件的接口问题。软件分层也罢,模块协作也罢,我们都必须设计好相互之间的接口关系。好的接口不但明确了相互之间的责任关系,而且有力于各个模块进行自己的单元测试,对整个产品的质量也是大有裨益的,在保证软件的开发进度上也是有一定保证的。当然了,如何把需求拆分成模块,在模块之间如何划分接口也是考验程序员的一道难题。不过,还是有一些基本原则可以遵循的,你比如说,

 

    (1)软件接口力求简单明了,keep it simple and stupid

    (2)接口应该包含模块的基本功能,包括初始化、卸载、创建、增加、删除、查询、计数等等

    (3)函数接口需要输出返回值

    (4)函数名应该和函数功能保持一致

    (5)上层模块与底层模块的接口原则上以注册为主,这样可以保持上层的逻辑流程唯一

    (6)接口的设计上应该和具体的os分离,不要使用某一os特有的函数

    (7)接口设计必须在模块分析、设计的时候一并完成

    (8)接口函数需要专门在一个头文件中声明,不要输出额外的内容

    (9)函数接口原则上不要修改,如果修改建议保留原函数,重新编写一个ex版本

 

 

 

标签:函数,随想录,接口,模块,软件,设计,os
From: https://blog.51cto.com/feixiaoxing/5880721

相关文章

  • 接口自动化测试实践指导(中):接口测试场景有哪些
    在第一篇文章《接口自动化测试实践指导(上):接口自动化需要做哪些准备工作》中详细给小伙伴们讲解了接口自动化需要做哪些准备工作,准备工作中最后一步接口测试用例设计是非常......
  • 随想录(矩阵计算的几种方法)
    【声明:版权所有,欢迎转载,请勿用于商业用途。】   要进行图像处理,矩阵运算是少不了的。不管是加减乘除,还是旋转、求逆、矩阵分解,都需要lib来好好支持。下面,主要就说一......
  • 随想录(机器学习的生产应用)
    【声明:版权所有,欢迎转载,请勿用于商业用途。     从范围上讲,人工智能>机器学习>模式识别。最近机器学习愈演愈烈,特别是深度学习的发展,极大的推动了机器学习的应......
  • 随想录(嵌入式工程师的出路)
    【声明:版权所有,欢迎转载,请勿用于商业用途。  嵌入式工程师分布在各行各业上面。这其中包括了消费电子、工业电子、汽车电子和军用电子等等。从功能上面看,嵌入式本身包......
  • 随想录(对比着c学java)
    【声明:版权所有,欢迎转载,请勿用于商业用途。  对于java,有两种论调。一种是鄙视,认为java是个人都能学,完全体现不出程序员的水平。还有一种,就是拔高java,认为java无所不能,j......
  • 随想录(被高估的busybox)
    【声明:版权所有,欢迎转载,请勿用于商业用途。  传统的嵌入式系统都是uboot+kernel+rootfs。其中最简单的rootfs就是ramfs+busybox+/dev+/etc+/lib。至于etc目录中的initt......
  • 随想录(c&cpp之间的相互调用)
    【声明:版权所有,欢迎转载,请勿用于商业用途。】  作为系统工程师,平时用c可能多一些。这两天因为工作的原因,了解了linux上面cpp的编写方法。很多时候,cpp对编写者的要求比......
  • 随想录(比技术更重要的是产品)
    【声明:版权所有,欢迎转载,请勿用于商业用途。  一般来说,做技术开发的同学往往对功能、技术和性能比较热衷,但是对产品却非常忽视。不管什么样的技术,最终都要以产品的形式......
  • EM360数据模块
    EM360数据模块(以下简称EM360)是鼎桥自主研发的一款高端LTECAT6MiniPCIe数据宽接模块,主要面向鼎桥解决方案的第三方宽接合作使用。该模块集成到终端中作为LTEModem使用,提......
  • 代码随想录day2| 977,209,59
    977.暴力法:整个数组平方,然后再nums.sort(),时间复杂度O(nlogn)空间复杂度O(1)双指针法:从两头开始遍历,l,r指向当前有可能的最大值,i象征着新数组对应的位置,从大到小,时间复杂度......