极客视点
极客时间编辑部
极客时间编辑部
113240 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/02:46
登录|注册

谷歌软件工程师:编写程序时的工作流程

讲述:丁婵大小:2.54M时长:02:46
编写程序时,正确合适的工作流程能够确保高效地完成工作目标。近日,谷歌软件工程师史提夫·梅利特(Steve Merritt)在博客上分享了自己的工作流程。
梅利特介绍了他从头至尾解决编程问题的策略,他既在谷歌的日常工作中使用这一策略,也在和各种水平的编程人员(训练营、大学生和实习生等)合作时使用它(帮助他们学习和成长)。应用这一结构化的流程能尽可能地缩减令人沮丧的调试过程,在更少的时间里得到更清晰更正确的代码。
第一步:画出来
通常而言,一个问题的解决方案并不是浅显直观的,即使可能乍看起来很简单。在纸上琢磨一下能让你找到解决方案并验证该方案在一些不同场景中的效果。所有这些工作都应该在写下任何一行代码之前完成。
所以先不要写代码。甚至不要去想代码。后面你会有足够的时间去添加分号和括号。现在你只需要搞清楚你作为一台人体计算机,会如何解决这个问题。
画图、使用箭头、在小方框里填写数字。只要能让你可视化这个问题,就可以去做。你的目标是解决问题,你能用纸张和铅笔尽情发挥,而不受限于键盘。
第二步:写成普通话
在第一步确定的算法,可以用平实易懂的语言把它写出来。这能使这些步骤显得具体,也能够在写代码时回顾参考。
第三步:写伪代码
伪代码并不是真正的代码,但却模仿了代码的结构。伪代码与代码的接近程度完全由你决定,随着时间的推移,你会发现最适合自己的风格。
第四步:将你能做到的部分翻译成代码
这是整个流程中我们第一次必须考虑句法、函数参数和语言规则。你也许没法写出所有一切,但没有关系,把你知道的部分写出来就好了。
第五步:不要猜测
代码新人常会犯一个错误:在互联网上找一些写着“可能有效”的东西,然后不加测试地将其插入到自己的程序中。你的程序中你不理解的片段越多,你就越不可能最后得到正确的解决方案。
每增加一个你不确定的东西,你的程序可能出错的方式都会翻一倍。如果你的代码无效,那么这里可能就是问题所在。
这就需要测试你的新代码,在将其插入你的程序之前应该在另一个单独的小空间里测试一下它,以确保其工作方式和你所想的一样。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • williamcai
    不错,要学习
    2
  • 美国的华莱士
    伪代码的好处就在于在直观的同时给多种语言以实现的空间。
收起评论
显示
设置
留言
2
收藏
99+
沉浸
阅读
分享
手机端
快捷键
回顶部