编写过程与规范

软件工程(二)(清华)

编写的过程:
过程除了写代码,还有审查测试,优化,有的时候还会对老的代码进行重构。
规范的好处:
1.规范的好处有很多,比方说可读性,复用性,写的不好,看着费劲,也没法复用。
2.软件的生命周期70%是在维护,维护的人一般水平不会很高,所以写的不规范,他们根本看不懂。
注释的价值:
1.如果注释仅仅是语句的重复解释的话,在不认识api的情况下,还有点用,否则就是影响阅读程序。编写够用的注释即可。
2.还有就是给一片代码来个注释,说清除这段代码干了什么事。
命名的价值:
编写好读的代码,代码结构清晰,名字一看就知道是干啥的,学点英语单词,别整拼音!!!
杂项:
tab缩进,它的导入是from x import x顺序与es6不一致

良好的编程实践

软件工程(二)(清华)

啥意思呐?就是先对着代码看一看,不懂得去问百度,最后自己写写试试。有个学习法叫crm学习法,先去cv代码,然后读代码,最后练习代码。试试就知道多厉害了!!!

软件工程(二)(清华)

上图就是模块化,把一类工作封到一个模块,这样拼起来就能把活都干了,一个复杂的积木你可能不会玩,但是每个都是小正方体,那岂不是随便拼!!

软件工程(二)(清华)

异常处理就是try和catch,可以对运行错误进行预处理,让用户舒服

python集成开发环境

下载,配置环境变量,找个开发环境,我用vscode,扩展里面下载python插件,就可以用了。毫无基础的同学可以去哔哩哔哩搜尚学堂python,有免费的课。

代码静态检查

Code Review就是写完代码了,回头一圈人围着代码看,找哪里有问题,哪里可以优化,总之一圈人的话,很容易看出问题,每个人有自己的思维。

软件工程(二)(清华)

跟着安装就完事了,这个只需要电脑联网,一行命令即可,这个包是个代码检查工具,能查错误和代码重复,具体去查官方文档,简单的直接审查一个文件pylint abc.py就可以了

Code Review当你知道,你的同事会检查你的代码的时候,你会写得更好,还有就是一起回看你的代码,也会让你有很大收获!!!

代码性能分析

软件工程(二)(清华)

大部分时间在优化,就是说一开始,实现即可,然后大把的时间优化!

软件工程(二)(清华)
这里要注意的是,优化前后,都要进行评估,先看看优化前跑的怎么样,再看看优化后跑得怎么样,别给整出问题来!

能优化的比方说选什么数据类型,比较两种算法的时间复杂度,等很多吧,这里重在理解,实践放在实战上!

结对编程

两个人一起编程,就相当于主机和僚机,领航员与驾驶员,一段时间后互换,两个人不断的会话和讨论。坚持标准和规范,相互学习,相互磨合,结对开发磨合过后,会比两个人单独开发快。不是所有项目都适合结对,看具体效率的数据。
貌似不太现实啊,也就是在学校里,然后给大家带来更多的兴趣吧,毕竟两个人不会那么无聊。

闲聊

软件现在出来没多少年,很多科学都是经验科学!!
很多说法,都要看看为什么这么说,如果当时适合,就跟着做。
好的软件长寿,不好的软件没人用
软件工程就是搞好的软件!!!
产品没有生出来完美的,只有不断迭代而广受欢迎的,
产品需要迭代,软件当然跟着迭代,好的软件容易改代码,
那就需要代码好读,容易需改!!代码容易修改寿命就长!
大而全是用不上的,反而让有用的部分被埋没。
模块化是很重要的,人脑只能研究一部分内容。
解耦合,这样才容易读软件,不然当场爆炸,循环依赖
复杂的东西投机取巧,写的简单,需要打上很多注释,别人可能不懂
给小模块写测试
给读软件的人,容易跑你的代码,js一开始很烂,但是是个浏览器就能跑,啥玩意不安装,后来活生生迭代出成一门很大的语言

写在最后

代码只要好读,就好改,你不会这个算法都不要紧,有个会的就行了,他过来给你改上,或者你cv满级,自己改上去。
想想自己去cv的时候,去过这段代码很烂,很难找到相传的参数,那不就凉凉了??
提升自己的阅读能力,以及把代码写的好改的能力。
因为个人的实力,大多数情况下也就那样,山外面有星星,但是只要代码容易改,那么,你的这段程序,生命还有很长,兴许哪天,就被用在了金字塔顶上。
自己的阅读能力还是有价值的,毕竟别人写的代码,谁能说是什么样!

相关文章: