从最开始接触编程到现在快两年时间了,已经由当初的完完全全小白到现在的越学越知道得少。有一些个人的感受,无关对错,只是记录一下。
1. 基本的英文水平
这个基本的英文水平指的是你可以看懂各种技术,框架的英文文档。如果这个基本的出发点都没有,其实我个人觉得还是很吃亏的。当初在上手Laravel的时候,旁边的小伙伴看到我直接看的是英文文档,非常惊讶“我草,你都看英文的啊,这么装逼”。其实个人觉得这根装不装逼没有关系,只是一种身为代码工作者的基本要求,连文档都得依赖中文,慢慢等吧
2. 善用Google
个人认为,如果一个开发者还是没用善用Google,而是依旧依赖于百度,那么在我眼里,我确实是有那么一点鄙视你的,因为从我的个人经验(虽然只有不到两年)来说,在编程过程中的问题,80%可以由仔细看文档解决,15%可以由Google解决,剩下的5%拼的是经验和智商。而在使用Google的过程中,基本的英语能力又得提出来说说了,因为同一个问题,同样的关键字,你在Google和百度搜索出来的结果完完全去是两个世界,百度几乎对我没啥帮助,而Google几乎是认真读完搜索结果的前三条就可以解决遇到的问题,最多5条。所以,每次我听到有人抱怨Google被墙而不想花每月十几块钱去开个VPN的时候,我都是一副很惊讶的表情,明明就那么点钱就可以换来的网络自由,你就舍不得...
3. 良好的编程习惯和风格
这个对于写过一定量代码的人来说会有很大的感受。函数的命名,变量的叫法等都是很重要的事。我个人觉得用拼音来命名函数和变量是非常low逼的一件事,就连基本的英文单词都不会么?就连程序员的基本素养都没有么?就拿上次隔壁寝室的同学来问的问题来说,他说一个PHP新手,问我怎么将以下json数组的相应值取出来:
{
"zt":true,
"xs":{
"xh":"201214109302",
"xy":"gg"
}
}
对,相应的值就是xs
下面的xh
和xy
,你知道这啥么?
xs:学生
xh:学号
xy:学院
那gg
呢?不是哥哥?不是偶吧,而是共管(公共管理学院简称);那zt
呢,没错就是状态
!你连一个简单的status
都不会么?真牛逼
我当时简直疯了,虽然说这个很简单,但我当时真的不想多说什么。。。
Jeffrey有一句话说得很好:
Write the code the way you speak it.
对,这才是代码。代码的最终目的不是为了让机器懂,而是为了让人看懂,并且要看得舒服。所以我一贯认为,写代码应该是一件理所当然的事。
至于风格规范,对于一个写PHP的程序员来说。尽量严格按照psr-2
或者psr-4
风格吧,如果实在不行,用IDE吧,用PHP-CS-Fixer
吧,不要写一堆自己一个月之后也看不懂的代码了。那样浪费的时间往往比你想象要多。
4. 注重平时积累和重构
平时的积累往往就是体现在遇到问题时找到的解决方案。你对解决问题的方案有没有彻底理解?在这基础上有没有更好的解决方案?遇到的问题有没有总结起来?一些精彩的代码片段有没有读通,它的关键之处,它的精妙的点是什么?常用的代码块有没有自己的代码库?
我通常的做法是将遇到的问题列在自己的todo里面,如果在Google上找到了很漂亮的解决方案,我会收藏到Pocket里,晚上睡觉之前都会认真过一遍,如果有需要,时不时翻出来看看。对于一些常用的代码块,比如发送邮件的代码块,一些常见的数据表设计,处理上传图片等代码,我通常都是直接粘贴在在Dash里面的,到需要用的时候,我都是直接复制过来的,不要觉得复制代码可耻,反正我觉得这还挺能提高我的代码效率的。
至于重构,还多你之前写的代码你还能看懂不?能看懂你还能写得更好不?这些代码还能更灵活不?时不时带着新的眼光看看之前写的代码,很多时候你会出现灵光一闪的时刻“这样写不是更好么”,然后啪啪啪将代码改了。我将这些灵感的出现归结为知识积累和经验增加。
5.健康很重要
不要熬夜,不要熬夜,不要熬夜。
我之前有个一段时间每天晚上都看视频看到很晚,然后白天睡觉,这样坚持了一个多月,这个月里没啥运动,就连我平时最爱的篮球都没有碰。后来打过一次篮球之后才知道原来自己都这么虚了,一次突破之后已经累成狗,跟以前打两个小时不累的状态实在差太多。所以,还是要健健康康,毕竟勤奋和健康是不冲突的,不要想着自己感动自己,最后把自己的身体累垮了...
Happy Hacking