博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序员的职业素养---编码
阅读量:5975 次
发布时间:2019-06-19

本文共 2115 字,大约阅读时间需要 7 分钟。

hot3.png

成为专业人士。

今天开始读到了第四章 编码,之前三张内容 将在周末或其他时间时间补全,最迟将在本月补全。

Bob大叔 在主要要传授的是关于编码的一套规则与原则。

要熟练掌握每项技艺,关键都是要具备‘信心’,和‘出错感知’的能力。而以上两点都是在这套规则所引发的。他们描述的是编码时的行为,情绪与态度。

做好准备。

1,代码必须正常工作。2.代码必须能够帮助你解决客户提出的问题。3.代码必须要能和现有系统结合的天衣无缝。4.其他程序员必须能够读懂你的代码

千万不要在心烦意乱或疲劳时编码。

例如凌晨3点或者和女朋友闹别扭时写出的代码一定会在某日让你更加痛苦。

流态区

就是自我感觉良好,效率超高,你会感到觉悟错误,但是这是危险的。他会使你可以敲出更多地代码,但是你正在做TDD,其实你并没有估计全局。最好的做法是感觉快要进入流态区时,走开几分钟。或者采用结对编程(这个目前好像非常流行,我在其他的科技博客上也看到了类似的说法)而真正应该进入流态区的时间应该是 练习。

音乐

听着音乐确实会让我们感觉轻松,但是真实情况是,音乐正带着你进入流态区。(在工作前一段时间听听音乐确实能够较快的让自己进入状态,但是当沉浸其中时那就进入了所谓的流态区,浅层次冥想,应该减少进入流态区)

中断

当思考问题或进入流态区工作时被打断,不要态度恶劣的去对待他人。结对编程能够让你快速的回到打断之前的思维中,或者让你的同伴去处理问题。另一个办法是采用TDD方法。(:( 不知道TDD是什么 )如果被打断因该礼貌的表现出乐于助人的态度而这才是专业的态度,也许下次或许是去打断别人的就是你。

阻塞

谁都有写不来代码的时候,而那时应该做点别,放松心情。而最好的方法是结对编程。如果还不行那就找个角落清静一会。

创造性输入

要免于陷入阻塞状态的一个好办法就是要多 创造性的输入,才能创造性的输出。

读书看报听音乐,科幻喜剧白日梦。

调试

如果你的代码没有调试那将会是一场无尽的噩梦。

调试时间

开发人员认为调试时间并非编码时间,他们认为存在调试时间是天经地义的。但是对于工作来讲调试时间和编码时间是一样昂贵的。推荐采用”测试驱动开发“这能减少测试时间。(不过我连测试还不会呢)医生不喜欢重新打开病人的胸腔去修复此前发下的错误,律师不喜欢再度接手此前搞砸的案子。

返工是不专业的表现。

保持节奏

软件开发是场马拉松。专业程序员会仔细保存好自己的精力和创造力。

知道何时应该离开一会

遇到没有解决的问题就不应该回家。错,你可以回家,并且因该回家。调整好精力,让大脑休息好,保持节奏能够解决更多的问题。

开车回家路上

让大脑专注于其他事情上,会有助于解决问题。

洗澡

还是放松。

进度延迟

你总有一天会遭遇延迟的情况。有时候只因为我们夸下了海口。

根据目标定期衡量进度。乐观预估,标称预估,悲观预估。告诉项目利益相关者,并每天更新这个数字。

期望

如果10天后要交项目,你的预估是12天,你绝对不可能完成任务。要让利益相关者知道,除非有另外解决方案。不要让其他任何人对此抱有希望。

盲目冲刺

经理极力要求你赶上最后期限时。你应该坚持你的预估,不要盲目冲刺。那样会出很多问题,并使整个项目都变得缓慢。

加班加点

多工作的20%时间并不能完成20%的工作。如果连续加班3个星期加班措施必将失败。

你个人能力挤出这个时间,短期加班,最多两周,老板有后备预案。如果有后备那就加班吧。

交付失误

程序员最不专业的表现是,明知道还没有完成任务去宣告完成。

定义”完成“

最好是有个自动化的验收测试

帮助

编程并非易事。需要他人的思想。

帮助他人

相互帮助是每个程序员的职责所在。

接受他人的帮助

如果有人向你伸出援手,要真诚接受,心怀感激地接受帮助并诚意合作。

要学会请求帮助。如果帮助唾手可得而不请求帮助是很专业的表现。

辅导

向资深导师寻求辅导也是年轻程序员的专业职责。

除了自身的内驱动力和资深导师的有效辅导之外,没有东西能将一名年轻的开发人员提升为敏捷高效的专业人士。花时间手把手的辅导年轻程序员是资深程序员的专业职责所在。

(要想升级快全靠师傅带,没师傅的只能靠内驱动力了,找到驱动力)

概念:

测试驱动开发(Test-driven development)是现代计算机方法的一种。利用来驱动程序的设计和实现。测试驱动开始流行于20世纪90年代。测试驱动开发是中倡导的程序开发方法,方法主要是先写测试程序,然后再编码使其通过测试。测试驱动开发的目的是取得快速反馈并使用“illustrate the main line”方法来构建程序。

测试驱动开发的比喻。开发可以从两个方面去看待:实现的功能和质量。测试驱动开发更像两顶帽子思考法的开发方式,先戴上实现功能的帽子,在测试的辅助下,快速实现正确的功能;再戴上的帽子,在测试的保护下,通过去除冗余和重复的代码,提高代码重用性,实现对质量的改进。可见测试在测试驱动开发中确实属于核心地位,贯穿了开发的始终。

TDD 参考文章:

转载于:https://my.oschina.net/startphp/blog/102597

你可能感兴趣的文章
网络配置管理之ip、ss、配置文件、网卡命名规则、nmcli
查看>>
搞一个汉字拼音库
查看>>
Pg异步复制系统Bucardo
查看>>
正则---基础
查看>>
惠普联手VMware共推桌面云解决方案
查看>>
panabit一款流量监管软件
查看>>
mysql基本常识整理
查看>>
windows server 2008 平台cluster+SQL2008部署<1>
查看>>
python中执行命令的3种方法小结
查看>>
Intel boards with integrated Matrox MGA G200 video will require VESA driver on 32bit RHEL 5
查看>>
mysql的登录管理
查看>>
Informatica 9.5.1实验记录
查看>>
Linux系统环境crontab定时任务设置参数实例及常用技巧
查看>>
VMware vSAN分布式存储安装配置
查看>>
linux下将不同线程绑定到不同core和cpu上 pthread_setaffinity_np
查看>>
远程桌面体验注意事项
查看>>
mysqldump常用方法
查看>>
Hibernate3的配置参数汇总
查看>>
表归档脚本脚本
查看>>
Linux 监视用户的使用情况
查看>>