程序员代码风格 之别人见,我的理解

  写代码的时候,你永远不知道下次有谁会读你的代码。

  你发表了一遍博客,你认为没人看,随便一写,或者你只是给自己看,不知那一天,一个焦急的爬虫,翻阅无数的网页,来到你的网页,不出意外,不到5s中,你糟糕的排版以及代码风格,让他以为在浪费时间 ,以至于真正对他有用的,就此错过,所以你们之间错过了什么。咳咳,我好像话痨了。

  写代码也一样,不要有自私的心里,这个函数只是我用,不规范也ok,当别人真需要的时候,很有可能会重新定义一个新函数,代码功能类似,却比你的更安全。

  究竟该怎么写代码,为啥别人宁愿自己重新写,也不愿用你的代码。

  我总结几条,希望对你有用,对我则是记忆备份。

  函数遵循单一原则,一个函数一个功能,不需要多功能的***,就是流水线的操作工,只干一件事。库函数中有一个realloc函数,这个函数就很糟糕。  函数原型如下void *realloc( void *memblock, size_t size ); 1这个函数可以扩展申请空间用memblock 是通过calloc, malloc, or realloc.申请的,size指定新的大小。这种使用的时候,要先保存memblock的地址,万一扩容失败,也可以通过保持的memblock释放空间,避免内存释放。2当申请空间用,制定memblock 为NULL , 指定申请空间的大小。相当于malloc(size) 3,释放内存,指定size 为0 ,相当于free(memblock). 不推荐使用。

  函数内三层结构是可以接受的。过多层的结构需要转换,重新调整代码结构。

  推荐使用单出口,就是程序只有一个入口和出口。而不是各种return 。

  程序入口处应该先校验参数值是否有效,需要校验的参数一般有传入的指针,数组的大小,申请空间的大小,内核对象(进程句柄,句柄)进程pid 等。

  应校验函数返回值,强烈推荐。

  函数逻辑结构复杂的推荐用do{}while(FALSE)结构,若需要申请空间的变量,应该定义到do{}while外面,里面根据逻辑,不符合条件的都跳出去,里面和外面应该成对处理。可添加注释方便理解

  我觉得变量定义应什么时候用,什么时候定义,除非要申请空间的,为了方便处理,可统一安排在函数头。

  函数名和变量名参数应根据使用的功能命名,命名规范可参考微软的,最好能见名知义。

  少用全局变量和extern.

  在啰嗦下,c语言封装。c语言是依靠.c文件为单元的,函数作用域在这个单元内,将需要的头文件都包含在这个.c文件里,把需要公用的函数,变量在.h文件中申明,一般.c文件中,先保护头文件,接着宏定义 ,#pragma XXX,接着就是全局变量定义,结构体定义,然后定义主函数,主要中需要的其他函数定义卸载这个主函数之前,若全局变量中包含本.c文件定义的函数指针,则,在全局变量前,宏定义之后声明这个函数指针

  大概就这些吧,不早了,哈~

  等我想到其他再补充

 

转载于:https://www.cnblogs.com/haovcf/p/6741577.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值