关于代码整洁的经验体会

引言

一开始的想法,将有关的放在一起,应该会看起来比较方便,结果就是主窗口高达五千多行代码!我简直为我曾经的自己感到羞愧,所以特地写出来以示分享,随自己对于代码的整洁进一步了解,也会继续更新

代码乱象

这写的是我以前犯的错:
(1)、函数名有些使用下划线取名法,有些使用驼峰取名法,不统一!

(2)、界面的控件取名有些开头字母大写,有些开头字母小写,不统一!

(3)、一个函数处理所有的按钮事件!这个没啥问题,问题是连具体实现全扔里面去了!代码太多影响理解。

(4)、注释不够多,即使是那时刚毕业的我,也知道注释的重要性,但是屎山太大,有很多没考虑到需要注释,根本不够!

(5)、写死数据在代码里,后期想要修改就要翻阅屎山察看,耗时耗力得不偿失。

(6)、重复的代码四五个函数都在用,就是不知道把重复代码取出来放一个函数里!

代码整洁建议

一、代码权能范围划分

(1)、复杂点的代码应该拆分成一个个互不相关的模块,然后分别去用函数或者类括起来,越细越好,尽量让函数功能显得单调,这样可以后期修改不用那么容易动一牵连全身

void 大象放进冰箱()
{
	取得大象();
	
	将大象移到冰箱前();

	打开冰箱();
	
	将大象移到冰箱里面();

	关闭冰箱();
}

void 取得大象()
{
	QVector< 动物类型> animalsVector  = 获取草原的动物();

	....
}

....

(2)、全局变量,宏,枚举这些如果太多占据了声明类的头文件时,应当单独再创建一个头文件保存以分离权能

(3)、你可听过MVC?不懂没关系,我也没打算讲,但是这里有个理念很不错!那就是界面与数据处理分离,不进行绑定,比如说,我改个QTableWidget的表格根据内容的不同进行排序,我竟然还需要改和内容处理、表格排序两个主要内容不同的部分,如其他的数据,这就是不合格的地方,客气的讲,一团浆糊。

二、命名规范

(1)、函数名等要统一,函数名最好是小写动词+具体名词,比如说

void setCarSpeedValue( int CarSpeedValue);

清晰可见该函数要做什么,也知道设的是什么值,更知道要传的是具体设谁的值,足够单一

(2)、变量名要首字母小写的驼峰命名法,不要去简单相信使用匈牙利命名法好,因为真正的匈牙利命名法是要很多知识的,起码初学者把握不住,现在学到的大多是误会版的匈牙利命名法

{
	int returnValueInt = 0;
	return returnValueInt;
}

宏的命名要全部大写,由于多个单词放在一起容易看花眼又没有驼峰命名法一样分清单词,所以我建议最好单词间加多个下划线

#define SETTING_SPEED_VALUE QString("")

三、注释的重要性

(1)、嗯…其实我不知道怎么说,大家都知道注释的重要性,只是懒得写而已
但还是提一句,注释不仅仅是给别人看,也是给自己看的,注释可以让你立即明白这个地方的作用,可以辅助效率的提高,毕竟你不能保证你的函数名清楚,有些人就是理解岔了,或者就是没想起来里面做了什么,毕竟写的东西太多了,这时候注释就发挥作用了。

四、预留更改接口

(1)、总有些人知道需求,某些不重要的小细节就直接写死数据在代码里,仿佛甲方需求的信誓旦旦真的不会改一样,结果甲方一提修改需求就傻眼了

 rectangle->setBackgroundColor( QColor( 250, 250, 2500));

代码写在了这里,然后因为代码很多,自己又不记得这一句写在了哪里,还要拖动滚动条来仔细查看再次更改数据。

#define RECTANGLE_BACKGROUND_COLOR QColor( 66, 66, 66, 66)

像这里直接统一定义的,像要修改,我直接改这里就行,不用特意去翻代码,也方便别人察看修改

(2)、使用成员变量时,尽量不要将成员变量多个函数同时使用,而是要尽量以实参的形式调用,这样如果该成员变量有所更改,也不会改的太多

合格代码个人理解

我觉得一份合格的代码应当是如优美的文章一般,有迹可循,且清晰明了,便于修改,不会我修改A地方,还需要修改Z地方才可以

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

溪渣渣_梁世华

打赏?我甚至没有任何收费的章节

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值