优秀程序猿都有哪些好习惯蒙城华人网?-河南职场通

一个优秀的程序员,除要具备优秀的技术,还需要哪些优秀的习惯呢?
为了数据科学类问题研究新领域的发展
1.尽量亲自动手去完成事情。你将会有一种直觉,知道如何去处理该事物泪罗江。
2.积累案例,从数据表中标注着你已获得的数据开始奥运五环绿色代表。
(关于这一点:这不仅适用于数据科学程蝶衣原型,也适用于解决任何数值问题。用一个电子表格(或一个R/Python Notebook)来实现算法并获得一些结果杀铃文 ,在过去帮助我真正理解了问题,避免走死胡同。例如,在建立一个外汇定价系统时,我能够使用电子表格来描述定价算法是如何工作的,并向交易者(最终用户)解释它。在执行和部署算法之前,我们可以调整计算并确保一切都清楚。很好的建议!)

3.在找到通用办法之前豆蔓理财,先找到一种能解决当前问题的办法。
4.让算法本身输出调试信息莒南天马岛。你应该能够转储每一步的中间结果,并用文本编辑器或是 Web 浏览器手动检查它们。
5.不要为单元测试操心,定义出正确行为才是首要的。
维护大的、不熟悉的代码库程序
1.检查文件的大小。最大的文件总是包含了程序的实体部分,至少是指向程序实体内容的分派程序天庭剩女。 main.cc 通常很小李依芮,并且对寻找代码结构毫无用处。
2.从主循环调度开始单步调试程序。可以学到很多关于控制流的东西狼之少年。
3.寻找数据结构望仙飘渺行,特别是做为参数传递到许多函数中的那些卤鸡胗。大多数程序具有一个小的关键数据结构集合,找到它们,理解代码的其余部分会变得容易的多妖娆召唤师。

4.写单元测试。这是确认你所理解的代码与真实代码工作方式无误的最好方法超有病。
5.移除代码,看看什么出问题了。(但不要 check in!)
性能工作
1.一般不需要做铁窗性玩偶,除非你所构建的东西对用户来说太慢了。制定出需要提高的性能目标,达成这个目标即可。
2.在开始所有工作之前,周不疑甚至是在剖析(profile)之前,建立一套代表典型现实世界的使用基准。别让性能倒退,除非你确信已经登峰造极,高处不胜寒,并且更好的解决方法还藏在世界的某个角落里无人发现(如果出现了那种情况,在版本控制系统(VCS)中标记你的分支,以便在发现错误之后回来更改。)。

3.许多性能瓶颈都出现在系统的交叉处。在所有 RPC 框架中搜集时间统计数据,并且有一些方式来传播和可视化每个服务器的请求时间张道仙,以及哪些部分的请求是并行的,哪里是关键路径。
4.剖析(Profile)王海剑 。
5.通常,避免不必要的工作可使你赢在起跑线上。缓存最大的计算结果,粗略评估不常用的东西。

分类: 全部文章 喜欢: 60