发新帖我要提问
12
返回列表
打印

话说碰到了那种全局变量,指针漫天飞的程序杂破?

[复制链接]
楼主: hclwj181
手机看帖
扫描二维码
随时随地手机跟帖
21
hclwj181 发表于 2018-11-2 15:23
if(gprsinfo.receledinfo1.infono

楼主,这是给了你一个学习的好机会!

使用特权

评论回复
22
linqing171| | 2018-11-2 22:43 | 只看该作者
看一楼,以为是反编译出来的代码呢。
看了下十楼代码,感觉还是能接受了。只是有点长。刚好有些同事就是这种风格的。如果一个函数再比较长的话,看起来就累了,最好还是有几个局部的指针来缩短一下代码。
但是结构体成员那里,最好还是注释一下每个成员的用处,这段代码看懂还是问题不大的。

如果函数很长,建议拆成小函数,参数为 &gprsinfo.receledinfo1 传进去,就少了一段。
如果不好拆,定义个 int n=gprsinfo.receledinfo1.infono; 也能短一点。不过原先的风格就被破坏了。

反正长了容易出错,比如 xxxx[TxReceiverIndex]=xxx[xxxx]; 下一段一个类似,复制过去,挨个把TxReceiverIndex改成RxReceiverIndex,等号左边三个都改了,等号右边一个改漏了。  是不是大家都感到了熟悉的画面?

使用特权

评论回复
23
1223657347| | 2018-11-3 16:50 | 只看该作者
从楼主贴出的代码来看还是写的很清晰的,建议静下心来理顺结构体组成

使用特权

评论回复
24
eydj2008| | 2018-11-4 07:35 | 只看该作者
这是长命名  不用注释了, 英文原意理解就好了, 整个结构体 一般会注释的, 不然自己的程序过二个月,自己都看不懂的.

单片机 还是用全局变量传参数 方便些.  

真正那些通用的函数 全用指令传参数了. 方便移植

使用特权

评论回复
25
诸葛豆包| | 2018-11-4 19:50 | 只看该作者
自己调试一下,走通功能,就对代码有了了解

使用特权

评论回复
26
H572| | 2018-11-5 09:43 | 只看该作者
还好,不是反汇编的代码!

使用特权

评论回复
27
shuaihua44| | 2018-11-6 20:11 | 只看该作者
这个就是结构体嵌套,多重嵌套,没别的办法,只能多花时间

使用特权

评论回复
28
MinMinMin| | 2018-11-8 10:50 | 只看该作者
幸亏我不是程序员

使用特权

评论回复
29
kingkits| | 2019-1-17 11:37 | 只看该作者
你很少见过大数据处理的DSP代码,为了节省时间,必须尽可能地减少不必要的时间浪费,这时全局变量在函数调用中的优势就体现出来了。全局变量还能减小堆栈的深度,进而节约内存。(当然,对于我们大多数人来说,时间和内存都不算事)
至于有没有注释,很多人都是做了的,有一种软件会专门把注释清理掉,这可能是一些比较敏感的程序员自我保护的一种方式吧。
无论如何,看人家的代码都是一种痛苦(即便你看网上的开源代码,注释很完善的那些也是如此)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则