【编程之美】如何将代码写得像诗一样优雅?

01、文章目录

02、文档级注释

何谓文档级注释?
我们先看下面一张图片。

在这里插入图片描述
看了图片,相信大家对文档级注释的喜欢已经爱不释手了吧。
这是来自于红警的源代码之一,红警大家应该都接触过,这里就不聊游戏,毕竟编程之美嘛。

我们可以看到红警文件开头的那个非常醒目的注释,它展示了整个文件的简要信息,如属于什么项目,谁在什么时候创建的,什么时候更新的,而且以一种非常规范的格式呈现在我们面前。我们能不能拥有这样酷炫的文档开头呢?答案是Yes!

只要我们写程序时,不管是写一个类,还是怎么,都养成Function、Date、Return、Parameter、Programmer、Project Name、File Name、Last Update这些东西用块注释(块注释的使用方法C语言)说明。也能达到和他一样的效果。

03、函数的外在阐述

何谓外在阐述?同样先看图

在这里插入图片描述
说来说去,不同样是注释嘛,啥也不是。
咳咳,注释肯定是注释,但是这里可不止是注释。

看到这张图的第一样,给你的感觉是啥?反正给我的感觉就是,舒服。
说说这张图的各种亮点吧!如下:

  • 我们可以看到它明显的语义化编码,也就是在逻辑实现部分,尽可能的能够少考虑具体的实现,如if判断条件中,使用一个函数来实现具体的判断,而不是直接把判断细节暴露出来。这有助于我们思维的连续性,从而从更高的层面对于代码有一个整体的把握。
  • 一般的,尽可能的要让一个函数的实现少,大概一个屏幕可以放得下即可,真正做到一个函数只做1件事,这样既可以避免逻辑混乱,而且也易于维护。对于其中的复杂的逻辑的细节实现,完全可以放到另一个函数中,从而避免一个函数包含了若干个层次的逻辑。
  • 见名知其意,同字面意思,我看见函数的名字,第一反应就是,大概函数干了什么,我懂了,在看看实现的细节,差不多就掌握了这个API,这是这点好处。

这种代码其实在现实中是很难遇见的,你能遇见的只是那些几百行,几千行代码,一两句注释,这种规范化的注释,可遇而不可求。
养成随手注释的好习惯,会让领导对你刮目相看,因为你这样做,算是在细节上为公司以后的发展冥冥中做了一些铺垫,这是很好的。

04、函数的内在阐述

说了外在,自然要说说内在,同样先看图。

在这里插入图片描述
看了这张图,只有一种敬佩之情,这种代码注释,对于我们这种编程时间不足一年的来说是非常的友好了。

我们C/C++程序员写程序,主要注重两点:
低耦合高内聚

  1. 低耦合(Low Coupling)
    关于低耦合的作用等等,我贴上我找到的一些写的好的文章,避免重复劳动,我就不重复写他们写过的概念了。
    低耦合:https://www.cnblogs.com/gitnull/p/10340848.html
  2. 高内聚(High Cohesion)
    高内聚:https://www.jianshu.com/p/c23b3ac18597

总所周知,if、switch、for、while、do while组成了软件的基础逻辑结构。
但是这种简而繁的代码,在主程序中,看着真的是很难看。这种时候,我们就要学习上面这种,将逻辑结构封装成函数,用到的时候,就直接调用函数。
或者说
熟悉设计模式的也可以用设计模式中的策略模式和工厂模式来替换简而繁的逻辑语句。
当然设计模式很好,但是用得不对也是会犯大错的。

05、附录(小结)

到这里,差不多我也分享完了,编程之美,是一栏如何将代码写得跟诗一样优雅的刊栏,喜欢的可以关注下,看见好的文章,会总结,然后分享出来给大家看看,并附上自己的理解。

附录:
http://c.biancheng.net/view/174.html
https://baike.baidu.com
https://www.cnblogs.com/gitnull/p/10340848.html
https://www.jianshu.com/p/c23b3ac18597

如果有什么写得不好的地方,请欢迎各位指出,希望大家不吝赐教。
版权声明:转载请注明出处,谢谢!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Cain Xcy

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值