极客视点
极客时间编辑部
极客时间编辑部
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:33
登录|注册

出色的程序员都具备哪些思维习惯?

讲述:丁婵大小:2.35M时长:02:33
有许多小的因素会逐渐侵蚀开发人员的项目。它们不会立即造成破坏,而是日积月累,甚至一年或更长的时间内都看不出来。所以当有人指出这些因素时,通常听起来没有什么危害。出色的程序员都具备怎样的思维习惯?这里有 5 条成熟的小建议。
1. 构想软件的用途
首先,你需要明白软件的用途。也就是说,实际上所有软件的用途只有一个,帮助人们,软件的用途并不是炫耀你有多聪明。
在对软件做出决策的时候应该牢记,如何才能为人们提供帮助?你可以通过这种方式对软件特性的请求进行优先级排序。
2. 明确软件设计的目标
每个程序员都是一个设计师。当难以创建或修改软件时,开发者往往会将大部分时间花在让软件“能用就行”,而不是关注如何帮助用户。软件设计的目的是尽可能简化开发人员的工作,这样他们就可以专注于重要的事情。
3. 正确理解自己开发的东西
无法完全理解自己作品的开发者往往会开发出复杂的系统。这会招致一个恶性循环:对软件的误解会导致复杂性增加,反过来又会进一步加深对软件的误解,循环往复。
事实上,提升设计技能的最佳方法之一就是:保证你对开发的系统和工具有充分的理解。对软件的理解程度是优秀开发者与蹩脚开发者之间最关键的差别。
4. 简洁
一名优秀的开发者会创建一些易于理解的东西,这样就很容易发现所有的 bug。 编程是化繁为简的艺术。“蹩脚的开发者”无法降低程序复杂性,而“优秀的开发者”会尽其所能简化其代码,使其易于被其他开发者理解。
5. 控制复杂度
首先,你需要确切地弄清楚你软件的用途及其定义。其次,你需要使你所编写的每段代码尽可能简洁。第三,当一个新的特性或变更请求出现在讨论表中时,你需要基于你软件的用途对它们进行评估,并提出问题。
有许多因素会提高软件的复杂度,开发者应该遵循一条原则:你的主要目的是降低复杂度,而不是增加复杂度。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • 慧长青
    降低开发复杂度,简单化
    1
  • 有朋自远方来
    控制复杂度。即可维护性。
  • jacy
    很现实也很实用
收起评论
显示
设置
留言
3
收藏
99+
沉浸
阅读
分享
手机端
快捷键
回顶部