|
| 1 | +成为专业人士 |
| 2 | +Bob大叔 在主要要传授的是关于编码的一套规则与原则。 |
| 3 | + |
| 4 | +要熟练掌握每项技艺,关键都是要具备‘信心’,和‘出错感知’的能力。而以上两点都是在这套规则所引发的。他们描述的是编码时的行为,情绪与态度。 |
| 5 | + |
| 6 | +做好准备。 |
| 7 | + |
| 8 | +1,代码必须正常工作。2.代码必须能够帮助你解决客户提出的问题。3.代码必须要能和现有系统结合的天衣无缝。4.其他程序员必须能够读懂你的代码 |
| 9 | + |
| 10 | +千万不要在心烦意乱或疲劳时编码。 |
| 11 | + |
| 12 | +例如凌晨3点或者和女朋友闹别扭时写出的代码一定会在某日让你更加痛苦。 |
| 13 | + |
| 14 | +流态区 |
| 15 | + |
| 16 | +就是自我感觉良好,效率超高,你会感到觉悟错误,但是这是危险的。他会使你可以敲出更多地代码,但是你正在做TDD,其实你并没有估计全局。最好的做法是感觉快要进入流态区时,走开几分钟。或者采用结对编程(这个目前好像非常流行,我在其他的科技博客上也看到了类似的说法)而真正应该进入流态区的时间应该是 练习。 |
| 17 | + |
| 18 | +音乐 |
| 19 | + |
| 20 | +听着音乐确实会让我们感觉轻松,但是真实情况是,音乐正带着你进入流态区。(在工作前一段时间听听音乐确实能够较快的让自己进入状态,但是当沉浸其中时那就进入了所谓的流态区,浅层次冥想,应该减少进入流态区) |
| 21 | + |
| 22 | +中断 |
| 23 | + |
| 24 | +当思考问题或进入流态区工作时被打断,不要态度恶劣的去对待他人。结对编程能够让你快速的回到打断之前的思维中,或者让你的同伴去处理问题。另一个办法是采用TDD方法。(:( 不知道TDD是什么 )如果被打断因该礼貌的表现出乐于助人的态度而这才是专业的态度,也许下次或许是去打断别人的就是你。 |
| 25 | + |
| 26 | +阻塞 |
| 27 | + |
| 28 | +谁都有写不来代码的时候,而那时应该做点别,放松心情。而最好的方法是结对编程。如果还不行那就找个角落清静一会。 |
| 29 | + |
| 30 | +创造性输入 |
| 31 | + |
| 32 | +要免于陷入阻塞状态的一个好办法就是要多 创造性的输入,才能创造性的输出。 |
| 33 | + |
| 34 | +读书看报听音乐,科幻喜剧白日梦。 |
| 35 | + |
| 36 | +调试 |
| 37 | + |
| 38 | +如果你的代码没有调试那将会是一场无尽的噩梦。 |
| 39 | + |
| 40 | +调试时间 |
| 41 | + |
| 42 | +开发人员认为调试时间并非编码时间,他们认为存在调试时间是天经地义的。但是对于工作来讲调试时间和编码时间是一样昂贵的。推荐采用”测试驱动开发“这能减少测试时间。(不过我连测试还不会呢)医生不喜欢重新打开病人的胸腔去修复此前发下的错误,律师不喜欢再度接手此前搞砸的案子。 |
| 43 | + |
| 44 | +返工是不专业的表现。 |
| 45 | + |
| 46 | +保持节奏 |
| 47 | + |
| 48 | +软件开发是场马拉松。专业程序员会仔细保存好自己的精力和创造力。 |
| 49 | + |
| 50 | +知道何时应该离开一会 |
| 51 | + |
| 52 | +遇到没有解决的问题就不应该回家。错,你可以回家,并且因该回家。调整好精力,让大脑休息好,保持节奏能够解决更多的问题。 |
| 53 | + |
| 54 | +开车回家路上 |
| 55 | + |
| 56 | +让大脑专注于其他事情上,会有助于解决问题。 |
| 57 | + |
| 58 | +洗澡 |
| 59 | + |
| 60 | +还是放松。 |
| 61 | + |
| 62 | +进度延迟 |
| 63 | + |
| 64 | +你总有一天会遭遇延迟的情况。有时候只因为我们夸下了海口。 |
| 65 | + |
| 66 | +根据目标定期衡量进度。乐观预估,标称预估,悲观预估。告诉项目利益相关者,并每天更新这个数字。 |
| 67 | + |
| 68 | +期望 |
| 69 | + |
| 70 | +如果10天后要交项目,你的预估是12天,你绝对不可能完成任务。要让利益相关者知道,除非有另外解决方案。不要让其他任何人对此抱有希望。 |
| 71 | + |
| 72 | +盲目冲刺 |
| 73 | + |
| 74 | +经理极力要求你赶上最后期限时。你应该坚持你的预估,不要盲目冲刺。那样会出很多问题,并使整个项目都变得缓慢。 |
| 75 | + |
| 76 | +加班加点 |
| 77 | + |
| 78 | +多工作的20%时间并不能完成20%的工作。如果连续加班3个星期加班措施必将失败。 |
| 79 | + |
| 80 | +你个人能力挤出这个时间,短期加班,最多两周,老板有后备预案。如果有后备那就加班吧。 |
| 81 | + |
| 82 | +交付失误 |
| 83 | + |
| 84 | +程序员最不专业的表现是,明知道还没有完成任务去宣告完成。 |
| 85 | + |
| 86 | +定义”完成“ |
| 87 | + |
| 88 | +最好是有个自动化的验收测试 |
| 89 | + |
| 90 | +帮助 |
| 91 | + |
| 92 | +编程并非易事。需要他人的思想。 |
| 93 | + |
| 94 | +帮助他人 |
| 95 | + |
| 96 | +相互帮助是每个程序员的职责所在。 |
| 97 | + |
| 98 | +接受他人的帮助 |
| 99 | + |
| 100 | +如果有人向你伸出援手,要真诚接受,心怀感激地接受帮助并诚意合作。 |
| 101 | + |
| 102 | +要学会请求帮助。如果帮助唾手可得而不请求帮助是很专业的表现。 |
| 103 | + |
| 104 | +辅导 |
| 105 | + |
| 106 | +向资深导师寻求辅导也是年轻程序员的专业职责。 |
| 107 | + |
| 108 | +除了自身的内驱动力和资深导师的有效辅导之外,没有东西能将一名年轻的开发人员提升为敏捷高效的专业人士。花时间手把手的辅导年轻程序员是资深程序员的专业职责所在。 |
| 109 | + |
| 110 | +(要想升级快全靠师傅带,没师傅的只能靠内驱动力了,找到驱动力) |
| 111 | + |
| 112 | +概念: |
| 113 | + |
| 114 | +测试驱动开发(Test-driven development)是现代计算机软件开发方法的一种。利用测试来驱动软件程序的设计和实现。测试驱动开始流行于20世纪90年代。测试驱动开发是极限编程中倡导的程序开发方法,方法主要是先写测试程序,然后再编码使其通过测试。测试驱动开发的目的是取得快速反馈并使用“illustrate the main line”方法来构建程序。 |
| 115 | + |
| 116 | +测试驱动开发的比喻。开发可以从两个方面去看待:实现的功能和质量。测试驱动开发更像两顶帽子思考法的开发方式,先戴上实现功能的帽子,在测试的辅助下,快速实现正确的功能;再戴上重构的帽子,在测试的保护下,通过去除冗余和重复的代码,提高代码重用性,实现对质量的改进。可见测试在测试驱动开发中确实属于核心地位,贯穿了开发的始终。 |
| 117 | + |
| 118 | +TDD 参考文章: |
| 119 | + |
| 120 | +测试驱动开发 |
| 121 | +TDD并不是看上去的那么美 |
| 122 | + |
0 commit comments