近段时间的实习工作,让我跟另一个实习小伙伴有了一定的交流,毕竟技能水平相当,关注的技术要点基本一致,所以比较容易得到交流和学习。之前在一家外包公司工作的我,相对来说项目经验比小伙伴多一些,发现一些他在项目开发过程并没有那么注意并存在无知区域的东西,在这里我梳理了一些编程须知,主要是一些经验的分享(入门级的,大佬勿喷哈)
IDE工具的准备
“好的工具是成功的一半”,每一次开始一个项目的时候,我都会根据项目的情况选择相应的工具,这里的工具不单单指的是编辑器,更主要的是一种调试环境,便于debug。有句话说的好“工欲善其事必先利其器”说的就是这个道理,好的工具准备往往是成功的前提,这点别不信啊,有些人怕麻烦就不在本地在部署一边环境,而直接拿自己N久前部署在线上服务器的环境(然而这个环境并不适合),这个时候我就建议大家使用vagrant部署开发环境了,详细可看我之前的教程[vagrant部署]。(https://www.jianshu.com/p/492bdee4106a)
编辑器推荐
个人推荐jetbrains系列的编辑工具,好用自己体会。这个系列的IDE都完美的正常支持git版本操作,图形化的操作对于对命令行恐惧的朋友们可以试试我的git图形化教程

postman调试
我想不用我过多介绍吧,一个后端的开发者,这个工具是必备的,左侧是我保存的一些api接口的目录地址,需要用的时候直接点击调试,真是方便快捷。

编码规范
每一项编程语言都有他自己的编码规范,哪里适合加空格,哪里适合空行,建议下划线还是驼峰,一般会有一些能愿动词需要大家了解一下:
- 必须 (MUST):绝对,严格遵循,请照做,无条件遵守;
- 一定不可 (MUST NOT):禁令,严令禁止;
- 应该 (SHOULD) :强烈建议这样做,但是不强求;
- 不该 (SHOULD NOT):强烈不建议这样做,但是不强求;
- 可以 (MAY) 和 可选 (OPTIONAL) :选择性高一点,在这个文档内,此词语使用较少;
如果是PHP开发者,一般是遵守这一套标准规范的PHP PSR 标准规范
学会debug,很重要
不管你学习任何一门语言,都需要一项基本功——debug,有句话说的好“开发五分钟,调试2小时”,会不会 debug,有没有 debug 的意识,懂不懂 debug 的技巧,是有没有入门编程的重要标志。就像小学读英语的时候,在英文单词旁备注“中文读音”是每个人都做过的事情,如果你一直不学会单词的读法,你可能就只会读你备注的那些词语了。类似这一点需要我们在编码的过程中不断的积累经验和总结,网络教程和文档是不会强调并教你如何调试的。
学会看报错信息
绝大多数问题不是直接在代码层面就出现的,而是运行时才发生。这时候正常都会导致程序中断并输出报错信息。一般从报错信息里就可以看出报错的位置和原因。
很多初学者怕看报错信息,这不行。即使英语不好,也尝试着去看,套路就那么些,看几次你就大概熟悉了,但对你调试的帮助非常大。
不过有时报错显示的位置是有问题的,这种情况通常的原因都是前面某一行的括号或者引号有问题,而导致后面的代码错乱。所以如果报错指出的位置看不出问题,试着往前看一看。
在代码中使用 try...except 可以避免程序因异常中断。但在开发时不要使用异常处理,否则阻止了报错信息的发出,影响调试。
报错信息还有个用处就是直接复制到搜索引擎里进行搜索,而这方面 Google 的结果比百度要好,英文网站要比中文网站好。(怎样用 Google 这个话题不便在此公开讨论。)
断点调试,log 查看日志文件报错信息
在程序中输出并分析 log(日志)是一种很基本但却很灵活很有效的调试方式。使用 print 就是 log 的最常用方法。
log 的作用主要是:
-
确定程序的运行路径。一个函数有没有被调用,一个 if 块有没有被执行,一个 while 循环执行了几次,到了哪一步中断了,都可以通过 print 出相关信息来查看。
-
查看变量的状态。程序自身的报错会告诉你发生了什么错误,但你还需要找出为什么会发生错误。通过 print 输出出错语句涉及到的相关变量的值和类型,可以帮助分析出错原因。
-
找出出错位置。往往错误的原因并不在报错的位置,所以多输出一些标记,多 print 不同位置的变量值,查看变量在运行过程中值的变化情况,可以观察是在哪里发生了问题。
通过 log 调试的经验技巧:
- 多输出一些辅助信息,方便自己查看,不然一堆数据看花眼。比如我一般输出时会标注上变量名,再输出变量类型,以及变量的值。比如:
-
在出错行之前输出。报错行涉及的一些变量,他们的数值和类型,全都输出出来,看看和预期是否一致。
-
一行做一件事。如果你出错的一行里连续调用了多个函数或运算,请分开写,分开输出。
-
对于字符串,直接 print 会被转义和解码,影响对变量实际值的观察。可以用 print(repr(text)) 或 print([text]) 的方式查看。
-
对于编码问题,用好 type 方法和 chardet 库辅助判断。这点之前编码相关的文章里有说明,公众号里回复 pycharm 可查看。
-
为了方便记录和回溯问题日志,通常也会将 log 输出到文件。也有专门的 logging 模块做这事。
(以上内容,来自csdn博客园)
熟练某一框架
前期在于使用,重在框架结构,后理解框架的设计模式和理念
当你熟练掌握一门语言后就可以举一反三啦:随便给你一个框架,看一会开发文档,就可以上手敲码啦;更上一级别自然就是直接组织搭建属于自己的框架啦。(确实不难)
善于总结
嗯,像我们团队的小伙伴一样,勿忘初心好好学习,老师在n年前就叫我们了:好记性不如烂笔头,多看多写多练习,emmm,文字写完了,我该上班了!!!
网友评论