我这两年的编程

JellyBool

JellyBool

从最开始接触编程到现在快两年时间了,已经由当初的完完全全小白到现在的越学越知道得少。有一些个人的感受,无关对错,只是记录一下。

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下面的xhxy,你知道这啥么?

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

本文由 JellyBool 创作, 转载和引用遵循 署名-非商业性使用 2.5 中国大陆 进行许可。

共有 58 条评论

TimeIsGoOn
修改的评论也不能少于六个字哦!
JellyBool
修改的评论也不能少于六个字哦!
liudong0763 回复 JellyBool
修改的评论也不能少于六个字哦!
mingliang
修改的评论也不能少于六个字哦!
JellyBool
修改的评论也不能少于六个字哦!
cnsnms
修改的评论也不能少于六个字哦!
JellyBool
修改的评论也不能少于六个字哦!
yefei123
修改的评论也不能少于六个字哦!
rickydev
修改的评论也不能少于六个字哦!
荒木飞飞
修改的评论也不能少于六个字哦!
JellyBool
修改的评论也不能少于六个字哦!
bagys
修改的评论也不能少于六个字哦!
yijiang
修改的评论也不能少于六个字哦!
Jabbowocking
修改的评论也不能少于六个字哦!
JellyBool
修改的评论也不能少于六个字哦!
wedojava
修改的评论也不能少于六个字哦!
JellyBool
修改的评论也不能少于六个字哦!
v3test
修改的评论也不能少于六个字哦!
JellyBool
修改的评论也不能少于六个字哦!
adki
修改的评论也不能少于六个字哦!
Laravels
修改的评论也不能少于六个字哦!
编码侠
修改的评论也不能少于六个字哦!
噼里啪啦小蛋哥
修改的评论也不能少于六个字哦!
yxl419
修改的评论也不能少于六个字哦!
zhengyanbin2016
修改的评论也不能少于六个字哦!
JellyBool 回复 zhengyanbin2016
修改的评论也不能少于六个字哦!
增辉
修改的评论也不能少于六个字哦!
chenyuanqi
修改的评论也不能少于六个字哦!
daimingkang
修改的评论也不能少于六个字哦!
pbygit
修改的评论也不能少于六个字哦!
JellyBool 回复 pbygit
修改的评论也不能少于六个字哦!
pbygit 回复 JellyBool
修改的评论也不能少于六个字哦!
JellyBool 回复 pbygit
修改的评论也不能少于六个字哦!
多果-罗成
修改的评论也不能少于六个字哦!
JellyBool 回复 多果-罗成
修改的评论也不能少于六个字哦!
yh4494
修改的评论也不能少于六个字哦!
JellyBool 回复 yh4494
修改的评论也不能少于六个字哦!
xieguanping12
修改的评论也不能少于六个字哦!
JellyBool 回复 xieguanping12
修改的评论也不能少于六个字哦!
nielz
修改的评论也不能少于六个字哦!
JellyBool 回复 nielz
修改的评论也不能少于六个字哦!
高永立
修改的评论也不能少于六个字哦!
27223271
修改的评论也不能少于六个字哦!
JellyBool 回复 27223271
修改的评论也不能少于六个字哦!
DanceSmile
修改的评论也不能少于六个字哦!
JellyBool 回复 DanceSmile
修改的评论也不能少于六个字哦!
doudou123
修改的评论也不能少于六个字哦!
JellyBool 回复 doudou123
修改的评论也不能少于六个字哦!
fuwenbin
修改的评论也不能少于六个字哦!
Cyclone
修改的评论也不能少于六个字哦!
JellyBool 回复 Cyclone
修改的评论也不能少于六个字哦!
zhaihoufeng
修改的评论也不能少于六个字哦!
49gd
修改的评论也不能少于六个字哦!
JellyBool 回复 49gd
修改的评论也不能少于六个字哦!
Jarvis5780
修改的评论也不能少于六个字哦!
Lange0314
修改的评论也不能少于六个字哦!
JellyBool 回复 Lange0314
修改的评论也不能少于六个字哦!
bourne
修改的评论也不能少于六个字哦!