借助开源项目,学习软件开发

署名-非商业性使用-相同方式共享
未知
2012-03-21
庄表伟

这是一份面向软件开发初学者的文档,所谓初学者,可以定义为:学过的语言不超过2种,在已经学过的语言技能方面,能够完成课程上的大部分习题。从高校教育 的通常情况来说,基本能够完成老师布置的最后的课程大作业。如果要说学得很出色,大概谈不上。要想进一步提高,也很困难。
对于大学毕业(正负1~2年)的同学们来说,他们很难接触到真正较为复杂的项目,即使参与到复杂的项目之中,也会是其中非常细枝末节的部分。他们渴望快速的提升自己的软件开发能力,而恰恰最缺乏提升自身能力的机会。
因此,本文希望能够介绍一种较为合理的方法,帮助各位"同学",以较为科学合理的方式,提高软件开发的实力。

这份文档本身也是一个开源项目,你可以参与这个文档的写作、维护。

以下是这份文档的目录

  1. 开始之前
    1. 这份文档的目标读者
    2. 基本条件
    3. 你需要明确的一些事情
  2. 开始
    1. 学习软件开发的几条主要途径
    2. 为什么借助开源学习是最有效的
    3. 选择一门语言
    4. 必须初步掌握的基本功
  3. 选择一个开源项目
    1. 到哪里去寻找开源项目
    2. 什么样的开源项目适合初学者
    3. 值得推荐给大家的开源项目
  4. Hello World
    1. 下载源代码的N种办法
    2. 让代码运行起来
    3. 可能遇到的困难
    4. 碰壁的过程,就是成长的过程
  5. 理解开源项目
    1. 基本结构的掌握
    2. 静态理解与动态理解
    3. 常用工具简介
    4. Debug与Log
    5. 主线与分支
    6. demo/example
    7. 单元测试
    8. 介绍文档
    9. 做点破坏活动
  6. 修改开源项目
    1. 尝试修改代码
    2. 提出一个小小的需求
    3. 如果不能搞定,试试看能不能乱来
    4. 寻求认可的艰难历程
  7. 为开源项目做贡献
    1. 提bug与建议
    2. 帮助完善文档
    3. 提交代码(功能代码与测试代码)
    4. 周边代码(demo/扩展/子项目)
    5. 外部宣传
    6. 其他各种杂务
  8. 成为组织的一员
    1. 交流圈
    2. 组织结构
    3. 开源项目的组织方式*
    4. 基本礼仪
  9. 自己发起一个开源项目
  10. 延伸阅读
加载中

评论(1)

借助开源项目,学习软件开发

《借助开源项目,学习软件开发》是由 @庄表伟 发起的一个开源项目。这个项目不是程序,不是代码,而是一份文档,一份帮助开发者学习软件开发的文档。 这份文档面向软件开发初学者的文档,所谓...

2012/03/22 10:52

没有更多内容

加载失败,请刷新页面

没有更多内容

3
回答
棋牌游戏开发后如何顺利在AppStore上架

苹果签名,支持菠菜,棋牌游戏,连环夺宝,扑鱼达人等游戏,保质一年,另可代上架APP游戏应用,无需版权号,有渠道申请快,(如何上架google play|i...

2017/02/22 16:33
21
回答
怎么精通框架

现在公司五点准时下班,上下班路上也花费不了多少时间,工作快两年,想现在好好学习一下常用的框架,先从hibernate或者spring开始,但是又不知该从何...

2016/06/24 13:20
6
回答
Mac 安装Python 库提示,
adam_lbq123 的回答 2015/12/13 19:32
最佳答案
引用来自“MagicPower”的评论 提权 命令前加上sudo 加了这个命令之后还是报错 linbingqiangdeMacBook-Air:~ linbingqiang$ sudo pip install scrapy The directory '/Users/linbingqiang/...
4
回答
有没有一个软件将VisualStudio的C/C++工程转换为Eclipse的工程

visualstudio的工程文件是*.sln + *.vcxproj ecpllise是.cproject+.project 存储格式都是XML,有没有...

2014/09/10 14:18
3
回答
如何把批量把一个目录下的文件改的打不开,而且无论如何也修复不好

我想把我的一个目录下(包括其子目录)的所有格式的文件都修改的打不开、不能正常使用,而且也修复不好。 修改后的文件的大小变化不要太大。 求教!诚恳。。。

2014/07/16 15:33
1
回答
初级软件开发人员进修必备的20本书(上)

开 发和编程向来就不是一件轻松的事,有时候你可能需要别人稍微点化一下,或者从书中得到一些有用的帮助。总而言之,无论是 工作流程还是进修你的专业,现在的互联...

2014/07/30 11:15

没有更多内容

加载失败,请刷新页面

没有更多内容

第一章 搭建Qt开发环境

第一章 搭建Qt开发环境 1.到http://download.qt-project.org/archive/上下载Qt的源码包。我下载的是qt-everywhere-opensource-src-4.8.1.tar.gz。Qt Creator下载的是qt-creator-linux-x86-op...

2018/11/05 09:58
2
0
VS2013中配置Qt开发环境 和 导入Qt项目

配置Qt开发环境 安装了VS2013、Qt5.5.1(qt-opensource-windows-x86-msvc2013_64-5.5.1)、Qtaddin(qt-vs-addin-1.2.4-opensource)。然后需要在VS2013中配置Qt开发环境,否则VS2013无法通过Qta...

2016/12/15 18:36
422
0
资料地址收藏

资料地址收藏

2016/01/07 10:31
112
0
Android HTML Parser Example

http://stackoverflow.com/questions/5867746/android-html-parser-example http://stackoverflow.com/questions/7070832/using-html-parser-in-android-project Try using JSoup. 在 Androi...

2013/04/24 20:06
324
0
QT mysql driver

(本文转自网络) Create MySQL driver for Qt5 on Windows Posted on 19 February 2013 - 14:24 This tutorial explains how to create the MySQL driver for Qt5 on Windows using MinGW. ...

2013/08/25 13:44
48
0
QT mysql driver

(本文转自网络) Create MySQL driver for Qt5 on Windows Posted on 19 February 2013 - 14:24 This tutorial explains how to create the MySQL driver for Qt5 on Windows using MinGW. ...

2013/08/25 13:57
56
0
QT环境搭建

## QT环境搭建 #### 1. 安装包下载 下载目录: http://download.qt-project.org/official_releases/qt/ 因为本次安装环境是windows,所以选择了 http://download.qt.io/official_releases/qt...

2016/08/27 21:09
41
0
Use Qt in Debian for OpenCASCADE

Use Qt in Debian for OpenCASCADE eryar@163.com Recently several OpenCASCADE enthusiasts want to build my simple Qt demo about OpenCASCADE on ubuntu system, but could not compile...

2015/05/21 22:23
48
0
HttpClient与HttpComponents

HttpClient HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供支持 HTTP 协议的客户端编程工具包 HttpClient: http://hc.apache.org/httpclient-3.x/ HttpClient入门: http:/...

2013/01/21 17:51
1K
1

没有更多内容

加载失败,请刷新页面

返回顶部
顶部