Fischmann2009 发表于 2017-9-26 08:11

IT方向的朋友请进,关于协议与代码的关系

本帖最后由 Fischmann2009 于 2017-9-26 10:33 编辑

新入职的公司是行业领头人, 该行业的很多协议都是公司自己建立的, 这里的协议是建立在RS232协议的桥梁上的,
我的任务是参与协议的制定和写代码, 协议是为了建立公司产品与其他公司的产品的通信.

以前都是直接使用某协议框架下的成熟的代码框架或调用一些成熟的函数, 直接参与一个新的协议的编制还是第一次, 头儿说协议和编写代码同步进行, 一时间有点头晕, 这里请问IT大牛一个关系(或者说是确认一个关系), 协议与代码的关系, 应该是先有协议, 程序员才能根据协议写代码吧, 是吗?不会是说程序编写好了, 再根据程序写协议吧? 谢谢.

MeineFrauWiebke 发表于 2017-9-26 08:31

你是学啥的?

leslie0705f 发表于 2017-9-26 08:31

本帖最后由 leslie0705f 于 2017-10-5 14:32 编辑

德国IT爱好者群,俨然是百人大群
如果你是IT爱好者或者是从业者,请加微信然后邀请入群
拿去不谢{:8_492:}

zhnde 发表于 2017-9-26 09:11

先得有用户需求吧,没需求编啥?

mib 发表于 2017-9-26 09:35

这叫什么协议,就是串口应答而已,直接调用串口函数读数据

jackylover1314 发表于 2017-9-26 10:05

我个人理解,协议就是一种约定, 像是tcp ip , http, ... protocol
这个和具体的语言和编码无关, 基本是在行业内部,或是大家为了共享数据而缔结的一种约定,
例如以什么格式传数据,有什么参数,什么方法, 现在很多德国的汽车行业的在制定autosar 的协议就是个例子。 这个就是描述性的约定,当然,有没有编程,也可以有,但他可能就是来说明协议的。
协议订好了, 通过service 的调用,我们不用知道你具体使用什么编程语言写的,具体的实现是怎么样的,
我们通过既定的协议, 你传来的信息我能解释,反之亦然

shrek_munich 发表于 2017-9-26 10:22

jackylover1314 发表于 2017-9-26 09:05
我个人理解,协议就是一种约定, 像是tcp ip , http, ... protocol
这个和具体的语言和编码无关, 基本是 ...

他这个"协议"估计也就是一些 数据格式,serialization/deserialization, 数据报头,payload结构,应答方式之类,不见得会到tcp/ip那个层面

Fischmann2009 发表于 2017-9-26 10:29

本帖最后由 Fischmann2009 于 2017-9-26 10:36 编辑

jackylover1314 发表于 2017-9-26 10:05
我个人理解,协议就是一种约定, 像是tcp ip , http, ... protocol
这个和具体的语言和编码无关, 基本是 ...
我的理解也基本上是这样, 按说应该是先有协议, 后才建立符合协议的代码.

但是头儿说, 协议和代码同步进行. 我想他的意思应该是, 分阶段制定协议, 每个阶段的协议制定完成后, 就开始这个阶段的代码的建立.
但前提应该是各个阶段的协议之间关系不大, 否则, 一旦后续的协议与前面制定的协议有冲突, 需要修改前面的协议, 那对应的代码就得要改.

wxwx2010 发表于 2017-9-26 10:48

协议相当于是一个specification,代码是implementation。implementation是用来验证specification是否可行,高效的。

你要严格说先后关系的话确实是有协议再有代码,但问题是如果制定协议时候不写代码做验证,那么最后的协议很有可能是没法实现的。所以两者需要一同实施。

最后的结果可能是协议制定好了,相应的函数包也就可以提供给客户使用了。

shrek_munich 发表于 2017-9-26 10:51

Fischmann2009 发表于 2017-9-26 09:29
我的理解也基本上是这样, 按说应该是先有协议, 后才建立符合协议的代码.

但是头儿说, 协议和代码同步 ...
你这个做法是经典的waterfall的做法,缺点在于如果有问题会很晚才发现
你老板想引入scrum的想法,早点做demo,早点测试,早点发现问题,另外一个好处是,即使你无法完成全部,你至少完成最重要的部分。
页: [1] 2
查看完整版本: IT方向的朋友请进,关于协议与代码的关系