关于公司代码规范的问题?

HappyJandun 2015-02-04 10:54:17
公司进了一个很喜欢表现自己的娃,昨天一个问题让我无言以对,很是给自己掌了一掴。

我写的代码是这样的:

然后他说没有范围控制,所以就改成这样的了:

其实我觉得这样就好了:

公司代码管理有点乱,都没有一个大家都遵从的基本的规则,而且公司真的low,编程人员水平高的很少,最主要的是我也很low。所以,公司的代码基本都是处于第一个图展示的那个水平。

说点我个人的看法(仅限对安全性和鲁棒性要求没有高到一点错就有财产或生命损失的行业),我觉得像这种问题最好是编程人员在编写代码时注意做到不要传负的参数进去,所以我觉得做得第三种那样就行了。像第二种代码,虽然很规范,但是如果非得严格到那种程度,调用它的地方还得判断,在很多场合显得有点浪费时间。欢迎指正。

现在问题来了,看到这个问题你有什么想说的,你们公司的代码规范严格程度如何?
...全文
562 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
HappyJandun 2015-02-07
  • 打赏
  • 举报
回复
引用 17 楼 BraveLii 的回复:
我们做嵌入式软件的,内存那么紧张,flash那么点点,每个函数都要做参数检查呢。。关键地方还得记日志。。方便问题定位
我们这个公司在这方面做的太少……
BraveLii 2015-02-06
  • 打赏
  • 举报
回复
default的时候也应该做些操作吧。
BraveLii 2015-02-06
  • 打赏
  • 举报
回复
我们做嵌入式软件的,内存那么紧张,flash那么点点,每个函数都要做参数检查呢。。关键地方还得记日志。。方便问题定位
於黾 2015-02-05
  • 打赏
  • 举报
回复
如果你的代码不过是自己编着玩的,不给别人去调用,你写的多烂都没人管,反正出了问题也是你自己去排查,是自己坑自己 你要是敢坑别人,别人会骂死你的
於黾 2015-02-05
  • 打赏
  • 举报
回复
话说,加个bool型的返回值是很有必要的 否则等调用完了,发现啥变化都么有,然后再从头到尾的找原因,最后发现是你的函数写的有毛病,会被骂死的 其实你都应该加个try,catch,然后再主动throw一些错误信息出来
  • 打赏
  • 举报
回复
能写点注释 在大部分公司就不错了 能写点接口 的解释文档 那就是大佬 能一次 过PMD fortify扫描 的 那基本是大牛...或者是印度阿三... 我? 我写的代码编译通过就可以下班
HappyJandun 2015-02-05
  • 打赏
  • 举报
回复
引用 11 楼 wff100 的回复:
[quote=引用 8 楼 dscyw 的回复:] [quote=引用 6 楼 wff100 的回复:] 楼主你在侮辱C++吗?
欢迎指导[/quote] 这个是误会,针对你那个位置错误的break。 但是从你这个代码的逻辑上来说是要设置列宽,但是第一列不能赋值,你完全没有反馈给调用者,还有一共才三列也没有反馈。 应该是设定一些返回值,比如错误、超出范围、不能赋值等等。 团队合作和代码管理中并不是每个人都能看见楼主的代码的。[/quote] 受教了
  • 打赏
  • 举报
回复
不知道你有没有听过一句话,你应该认为所有请求都是恶意的,你所要做的就是要尽可能的减少恶意请求带来的危害 不只是用户请求,同样包括代码请求
  • 打赏
  • 举报
回复
业务判断做全比较好,减少不可预见的错误性 这种事情应该统一在一个地方把控好,比如业务层,统一把控,调用方不再需要对此进行业务判断,如果有必要,可以方法返回异常,调用方拦截异常做相应处理,也可以像你们那样,默认认为失败,而不是返回异常
wff100 2015-02-04
  • 打赏
  • 举报
回复
引用 8 楼 dscyw 的回复:
[quote=引用 6 楼 wff100 的回复:] 楼主你在侮辱C++吗?
欢迎指导[/quote] 这个是误会,针对你那个位置错误的break。 但是从你这个代码的逻辑上来说是要设置列宽,但是第一列不能赋值,你完全没有反馈给调用者,还有一共才三列也没有反馈。 应该是设定一些返回值,比如错误、超出范围、不能赋值等等。 团队合作和代码管理中并不是每个人都能看见楼主的代码的。
灵魂制造者 2015-02-04
  • 打赏
  • 举报
回复
当你测试不通过找问题的时候 就知道这个开头错误验证有多重要了...当然 最好再加一条错误日志
ApplePeels 2015-02-04
  • 打赏
  • 举报
回复
引用 7 楼 dscyw 的回复:
[quote=引用 5 楼 ApplePeels 的回复:] 这代码有意思 这break位置放的出神入化
截图时不小心用快捷键改变了那两行的位置,截的时候没发现。[/quote] 原来是弄错了 我还以为是新的奇淫异术特意打开vs编译了一下
HappyJandun 2015-02-04
  • 打赏
  • 举报
回复
引用 6 楼 wff100 的回复:
楼主你在侮辱C++吗?
欢迎指导
HappyJandun 2015-02-04
  • 打赏
  • 举报
回复
引用 5 楼 ApplePeels 的回复:
这代码有意思 这break位置放的出神入化
截图时不小心用快捷键改变了那两行的位置,截的时候没发现。
wff100 2015-02-04
  • 打赏
  • 举报
回复
楼主你在侮辱C++吗?
ApplePeels 2015-02-04
  • 打赏
  • 举报
回复
这代码有意思 这break位置放的出神入化
suv3389 2015-02-04
  • 打赏
  • 举报
回复
应该加上 default: return ***;
zapdos 2015-02-04
  • 打赏
  • 举报
回复
首先,理论上assert只应该在私有函数、函数内部不可能达到的状态分支里面用 对于公开的函数以及可能引起副作用的地方不应该使用assert 其次,这个校验应该抛出异常,这样可以知道详细原因为什么设置失败 最后,我觉得你们有偏执狂,要是我的话提早下班比什么都重要,可能没几天你就辞职了,想那么多干啥

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧