软件开发需要掌握的思想方法有哪些?

2016-08-29 11:15:35 +08:00
 jint

ThinkingInSoftwareDevelop 软件开发需要掌握的思想方法

在和初学者接触的过程中,经常会发现,某些老手们习以为常的能力和知识点,对某些初学者是难以跨越的鸿沟。例如上周有人问我,为什么输出到控制台的字符,在没有指定输出位置的情况下,不是覆盖上一次的输出,而是跟在上次的输出后面? 还有人对 i=i+1; 这种写法表示不理解。

我大致总结了一些和具体的语言、操作系统和运行环境无关的知识点列在下面。应该不全面,所以在这里请大家帮忙补全。 如果有很好的讲解文章,也请推荐,我会补充进去。

github: https://github.com/today/ThinkingInSoftwareDevelop

Google Drive: https://docs.google.com/document/d/1PQkWP0Nqeng8oohwklD_9nVfMrN_P1bmTtiLh9pZXDg

解决问题的思路

大问题拆分成小问题,复杂问题拆分成简单问题

分层和分块

黑盒和白盒,以及透明

划归思想

时间换空间,空间换时间

具体技术实现

文件和流

迭代和递归

ASCII 和字符集

设计思想

面向过程

面向对象

函数式编程

1957 次点击
所在节点    问与答
1 条回复
jint
2016-08-29 11:39:35 +08:00
抱歉,被指出了语法错误, github 地址改为: https://github.com/today/ThinkingInSoftwareDevelopment

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/302407

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX