【023】Python全栈日记-飞机大战总结

Python全栈日记已经22期了,终于在21和22两期得到了不少的关注,在这里先谢谢各位,是你们的监督使我有坚持下去的力量。

 

废话不多说本次日记开始、这也是python全栈第一阶段的结束。

 

本次分两部分:(分两个图文发)

一:飞机大战总结

二:python全栈日记新系列:【面试专题】

 

 

一、飞机大战总结

之前我觉得本系列就是一个对我只是点的巩固,直到飞机大战发出后,我才发现本系列的发光所在,就是有众多大佬为我指点答疑,我感觉我学到了好多、在这里先感谢一下各位大佬的指点:

 

现在总结一下飞机大战中出现的一些问题

(1)命名(感谢一大堆人)

提到最多的就是命名,我在番外篇1中就说过命名很重要,但是作为一个新手真的很容易遗忘,命名不规范很容易被接手你的程序员顺着电线砍到你家里。

首先不能a,b,c这个我就不说了,你去面试用a,b,c真的就可以回家洗洗睡了。

循环的计步变量最好使用i,j,k,一般也就三层循环了。

然后关于变量名用拼音这个事情,我只能说尽量避免,但是实在英文不好的也能接受,但是一定不要用拼音还缩写,你需要做到的是是个人得能看懂你这是什么变量。从一开始养成好习惯很重要,不要心存我是新手之类的心理,我虽然飞机大战(上)使用了拼音,但是在(下)中我基本都改过来了。

Python这种无类型变量,变量名函数名使用下划线或者小写字母为佳,类名使用大驼峰,常量全部大写,如果变量很多怕不知道到底是什么类型,可以使用匈牙利命名法(变量名=属性+类型+对象描述):例如:objPlane,intWIdth,flootSpeed等……

 

(2)装饰器与闭包作用(感谢@咸鱼渴望能量跃迁)

Python以高度封装和多功能库著称,但是越高级的封装,一旦出现问题,维护也是个大麻烦。封装好一个已经能够实现功能的函数之后如果想要为其添加新功能,记住不要修改原函数的函数体内代码,使用闭包的思路用装饰器添加功能更合适。所以,维护的问题不是什么大问题,面向对象的问题在于代码逻辑和人的逻辑的脱离,理解成本上升了。

 

 

(3)绝对路径和相对路径(感谢一大堆人)

C:\windows\system32\cmd.exe

相对路径:是从当前路径开始的路径,假如当前路径为:C:\windows

要描述上述路径,只需输入:system32\cmd.exe

 

实际上,严格的相对路径写法应为

.\system32\cmd.exe

其中,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。

 

假如当前路径为c:\program files

要调用上述命令,则需要输入:..\windows\system32\cmd.exe

其中,..为父目录。

 

当前路径如果为c:\program files\common files

则需要输入:..\..\windows\system32\cmd.exe

 

另外,还有一种不包含盘符的特殊绝对路径,形如

\windows\system32\cmd.exe

无论当前路径是什么,会自动地从当前盘的根目录开始查找指定的程序。

 

所以我们在做一个工程时应该先把素材包放在工程目录中,然后使用相对路径来加载素材,避免绝对路径。

绝对路径虽然看起来很明确,但是简短的相对路径、高效的命名可以提高可读性,效率也会更高。

 

 

(4)硬编码(感谢@djunxp@风声猿鸣)

硬编码简单说就是直接把数据写在代码里,例如游戏中的飞机尺寸,画布大小,子弹大小等等。

硬编码通常是必需的,但也可以被认为是反模式。程序员可能没有针对最终用户制定的动态用户界面解决方案,但仍然必须提供该功能或发布该程序。

这通常是暂时的,但从短期来看,确实解决了交付代码的压力。稍后,进行软编码以允许用户传递参数,该参数为最终用户提供修改结果或结果的方式。

这玩意还有一个名字叫魔数,就是如果你弃坑了之后别人接手你的代码,如果没注释这些数字就叫魔数,接手的人不知道啥意思代码压根没法看,那是要骂人的

建议这种跟系统相关的比如屏幕尺寸等,从环境变量和包提供的方法中获取,自己的参数设定,从自己的配置文件(独立一个)、或全局变量、或包装到类属性后获取。

 

 

(5)分文件(感谢@howcansay@一只小鸟Lxue)

结合上面的硬编码问题,我们可以在工程文件下保存我们的素材文件,然后将图片的参数放入一个配置文件中。

一般我们把一个程序分为:程序运行文件、主体功能文件,程序配置文件。

 

上次飞机大战大概就这些问题,有啥能在发现的以后补充吧。然后我们讲一个面试高发题。

 

(6)注释

我最好的习惯就是爱注释,主要是为了写日记能以后看的懂。所以飞机大战中基本每行都有我的注释,不是吹牛,这个习惯真的很好,不论你是经验丰富的程序员还是一个萌新,当你接手代码时,如果全是注释你会很感激那个人的,

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值