惊人的红色警报开放源代码?愉快的代码评论,我们也可以。

1.前言红警1的开源代码重现江湖,这个20年前,甚至25年前的代码,被我们所有的后来者所惊叹,这才是一个艺术品(art)一般的存在。其优秀的代码才是一款RTS游戏能够风靡全球的最根本保障。其开源链接为:https://github.com/electronicarts/CnC_Remastered_Collection如果你想重温这款童年记忆,那么花费140人民币,你就可以在Steam上体验到这款游戏。

1.前言

红警1开源代码重现江湖。这个20年前甚至25年前的代码,让我们所有后来者都惊叹不已。这是一门艺术的普遍存在,其优秀的代码是一款RTS游戏风靡全球的最根本保证。

它的开源链接是:https://github.com/electronicarts/CnC_Remastered_Collection

如果你想重温这段童年记忆,可以在Steam上体验这款游戏,140元。

然而,我们关注的主要是它的代码,所以我们没有发布它的游戏截图,而是关注代码。以下是我随机点击的一个文件的内容。你可以享受令人愉悦的代码。

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以

2. 我们惊叹它的什么?

从上图我们能看到什么?我们惊讶于什么?

先来看看朋友们的评论(只选了一部分):

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以

在我看来,我们惊人的部分至少包含三点:

清晰的代码标注语义编码规范小而精的逻辑实现

2.1 清晰的代码注释

我们可以看到非常工整的文档头标注(图1),详细的方法标注(图2),以及代码行之间的逻辑标注(图3)。这些注释不仅仅是简单的重复代码,还详细展示了代码背后的业务逻辑,这样我们就不用猜测这样做的目的,只需要阅读代码就可以知道应该在哪里使用。最夸张的是第三个。在具体的实现中,注释甚至比代码还要大。

2.2 语义化的编码规范

,我们可以看到它明显的语义编码,也就是在逻辑实现部分,我们可以尽可能少的考虑具体的实现,比如在if判断条件中,我们用一个函数来实现具体的判断,而不是直接暴露判断细节。这样有利于我们思维的连续性,从而从更高的层面对代码有一个整体的把握。

00-1010一般来说,一个功能尽量少实现,这样一个屏幕可以放下,一个功能真正能做的只有一件事,可以避免逻辑混乱,容易维护。对于复杂逻辑的详细实现,可以放入另一个函数中,从而避免一个函数包含几个层次的逻辑。

00-1010那么,在我们感叹的同时,能不能做点什么来跟上老大哥们呢?在我的Bl里。

ink发出以后,收到了上百个点赞评论,一致认为都想像20多年前的前辈一样优雅的编程。那么,我们就从最简单的、最明显改观的代码注释开始。

在Python中,代码注释其实就两种,单行代码注释(#)和多行代码注释("""""")。但是我们需要用到的地方则有4个部分:文档级、类级、方法级和行级别。下面我们分别讲解一下这些部分的组成。

3.1 添加文档级注释

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

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以

尽管看起来可能没有红警原版霸气,但是只要学会了这个技术,我们都可以创建属于自己的风格的文件头。我们只需要利用pycharm中的文件模板设置即可。它总共分为3个步骤:
首先,点击File->Settings进入设置界面,选择Editor下的File and Code Templates选项。

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以

然后,点击Python Script(你也可以为其他类型文件设置文件头),就可以看到最右侧显式的文件模板了。
最后,只需要将我们喜欢的文件头复制粘贴进去即可,点击OK即可。

下面是我仿照红警风格自己设计的文件头,大家可以随意取用(CV一下):

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以

当然,更多其他的这种内置变量或者自定义变量的使用方法可以参见《详解pycharm新建文件时头部的模板_oukohou-CSDN博客》。

3.2 添加类级注释

当添加完文件注释以后,我们就需要添加更加细致的注释,首先来看对于类的注释。下面的例子给出了类注释的两个部分,一个部分是直接处于类下的简要介绍,另一个则是在__init__下的注释。两个部分都是使用"""进行标记的。图上风格为pycharm自带的编码风格,也有google和Numpy风格的注释,详情可以看《Python类和方法注释规范_XerCis的博客-CSDN博客_python 方法注释》。

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以

3.3 添加方法级注释

更加细致的注释是在方法级的注释,如下面代码所示,它注释在方法上,一个好处是可以直接指导这个函数的功能,另一个好处就是当你在查看方法时,不需要点击方法里面查看源代码,也知道它的用途、参数和返回值,这个操作我们下面会介绍。

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以

3.4 添加行级注释

最细致的是行级注释,只注释在每一个行上,例如刚才出现过的例子。它可以用来解释一些不是很容易知道操作的目的的代码。

file="<File>"+file+"</File>"    # Special operation to avoid there is no root.

3.5 其他小技巧

经过以上4级的注释,我们让代码更加的丰满了,从而能够达到红警里注释的效果。但是我们这东西可不是绣花枕头,中看不中用,它是可以实实在在帮助我们提高编程效率的。下面我们介绍一些小技巧来帮助我们更好的利用我们/其他人的注释。

3.5.1 查看方法注释

当我们费了千辛万苦注释完毕后,该怎么查看呢?一个方法就是将鼠标放置在我们想要查看的方法上,按住ctrl,就可以查看到其注释了。

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以

另一个方法则是ctrl+Q,它用来查看说明文档呈现的注释,两者的不同大家可以通过下面的图和上面的图对比可得。

惊艳于红警开源代码?赏心悦目的代码注释,我们也可以

3.5.2 生成说明文档

就像刚才讲的,这些都是在代码里查看的,如果我们想生成一个工业级的软件说明文档该如何呢?这么多注释不能白写了呀。这时候我们就可以使用Sphinx来帮助我们实现自动化的说明文档生成,详情可以看《Sphinx入门——快速生成Python文档》。

3.5.3 打包项目所需依赖包

当我们代码也准备好了,说明文档也准备好了,距离交付别人就只差一个依赖包了。我们的项目可能会依赖很多第三方的包,如果不给别人一个依赖清单,那么别人也没有办法非常容易地复现你的程序,因为总会报各种各样的错误。这时候,我们又需要另一个神器了pipreqs。
首先使用命令行执行pip install pipreqs。
然后进入项目的文件夹里,执行下面的命令:

pipreqs ./  # 报错就执行下面这条pipreqs ./ --encoding=utf-8

这样就会生成一个requirement.txt文件,里面就是我们的依赖包了,等到再复现的时候,只需要执行pip install -r requirement.txt即可重装这些依赖了。

4 小结

至此,我们基本上讲述了如何实现教科书级的红警开源代码需要注意的事项,为以后我们更好地编码打下了基础。在将来,我们将会磨砺自己的编程技巧,终有一天做出一流的艺术品,为整个虚拟世界真真正正地贡献自己的一份力量!

本人技术博客同步更新,欢迎关注:刘炫320的博客_CSDN博客-算法编程习题解答(java版),机器学习习题集,leetcode领域博主

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/40315.html

(0)

相关推荐

  • 全球增长最快的操作系统鸿蒙系统已经超过1.5亿用户。

    日下午,华为开发者大会正在进行中,华为常务董事、消费者业务CEO余承东在华为开发者大会2021主题演讲中称,升级HarmonyOS设备数量现已突破1.5亿。

    科技 2021年10月23日
  • 慢性胃炎吃多了就难受?可以试试多吃这2种食物

    在我们的身边,最不缺乏的就是患上胃病的人了,仅仅是胃病的严重程度不同而已,尤其是在平时的生活当中,那些不注意饮食大吃大喝的人,我们的胃部难免会出现不适症状,从而引发一系列的胃部疾病,所以在平时的生活当中应该要注意保护我们的胃部,预防幽门螺杆菌的入侵也是非常重要的,一旦出现了胃病没有及时根治的话,难免会出现反复发作,从而形成慢性胃炎的情况,我们的人体在慢性病的趋势下会是多为粘膜充血,若是出现糜烂的情况,甚至会引发胃癌,下面小编就来给大家介绍一下慢性胃炎的主要症状以及预防和缓解的主要措施。

    生活 2021年9月25日
  • 台电平板t40,台电t40发布

    虽在数码自媒体圈子里混了几年,但在人人皆可是测评官的时代,感谢台电在众多大神中翻我牌子。在大多数用户在想5G网络到底有多快,还在犹豫何时换5G装备的时候,台电推出旗下首款5G平板,的确值得期待。

    科技 2021年10月25日
  • 医疗卫生法律法规常识基本知识,妇幼保健院招聘都考什么知识点

    《中华人民共和国母婴保健法》是为了保障母亲和婴儿健康,提高出生人口素质,根据宪法制定。经中华人民共和国第八届全国人民代表大会常务委员会第十次会议于1994年10月27日通过。自1995年6月1日起施行。

    生活 2021年10月27日
  • 最低的成本快速搭建公私兼备的网盘系统,超级好用

    今天给大家推荐一款开源的网盘系统Cloudreve,能以最低的成本快速搭建公私兼备的网盘系统,操作简单,功能强大。

    科技 2021年11月20日
  • 这孩子午睡时被老师用胶带固定住了!警察报告来了。

    来源 | 都市现场综合江油公安、新闻晨报、封面新闻

    生活 2021年10月29日