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

著做权申明

  • 本做品选择采用:署名-非商业性使用-相同方式共享 的CC协议。
  • 您能够:复制、发行、展览、表演、放映、广播或经过信息网络传播本做品。以及创做演绎做品。
  • 唯须遵照下列条件:
    • 署名 — 您必须按照做者或者许可人指定的方式对做品进行署名。
      • 署名方式为:在转载或新做品开头的显著位置,注明原做者的姓名、来源及其采用的知识共享协议,与本做品在Huihoo Code上的原发地址创建连接
    • 非商业性使用 — 您不得将本做品用于商业目的。
    • 相同方式共享 — 若是您改变、转换本做品或者以本做品为基础进行创做,您只能采用与本协议相同的许可协议发布基于本做品的演绎做品。

如何参与这个写做项目

  1. 注册成为 http://code.huihoo.com 的会员,并在申请说明里注明参与开源学习的写做项目。
  2. 发送邮件到zhuangbiaowei # gmail dot com,介绍你但愿参与的章节,若是可以附上过去曾经写过的blog,则更好。
  3. 通过几回来回邮件的简单交流,我可以理解你的基本思想,则会帮你激活会员账号,并将你的账号加入这个项目。
  4. 共同编辑这个wiki。
  5. 若是对于这个写做的内容,有任何意见和建议,也欢迎随时给我发邮件。
  6. 讨论区 能够发起各类话题的讨论。
  7. 问题区 能够提交各类issues,监督进度。
  8. 如何认领某一小节并开始写做?先写起来,你们能够再后续帮助修改,先到先得。

目录

  1. 开始以前
    1. 这份文档的目标读者
    2. 基本条件
    3. 你须要明确的一些事情
  2. 开始
    1. 学习软件开发的几条主要途径
    2. 为何借助开源学习是最有效的
    3. 选择一门语言
    4. 必须初步掌握的基本功
    5. 关于开发工具
      1. 关于开发工具的分类(by 李路)
      2. 各类参考资料
  3. 选择一个开源项目
    1. 到哪里去寻找开源项目
    2. 什么样的开源项目适合初学者
    3. 值得推荐给你们的开源项目
  4. Hello World
    1. 下载源代码的N种办法
      1. 关于源代码管理与版本控制
      2. 寻找早期开源项目的源代码
      3. SVN、Git、Mercurial快速介绍
      4. 基于包管理的方式获取源代码
    2. 让代码运行起来
      1. Ruby版
      2. PHP版
      3. Java版
      4. Python版
      5. JavaScript版
      6. C/C++版
    3. 如何克服可能遇到的困难
  5. 理解开源项目
    1. 静态理解
      1. 目录结构
      2. 包名与文件名
      3. 类名、函数名与变量名
      4. 注释与Readme
      5. UML图
      6. 外部文档
    2. 动态理解
      1. 输出日志
      2. 设置断点与单步跟踪
      3. 抛出异常
      4. 修改代码,破坏性尝试
    3. 主线与支线
      1. 寻找入口
      2. 跟踪关键流程
      3. 寻找挂接点
    4. 外围代码
      1. 必须存在的外围功能
      2. demo/example
      3. 单元测试
    5. 知其因此然
  6. 修改开源项目
    1. 尝试修改代码
    2. 提出一个小小的需求
    3. 若是不能搞定,试试看能不能乱来
    4. 寻求承认的艰难历程
  7. 为开源项目作贡献
    1. 提bug与建议
    2. 帮助完善文档
    3. 提交代码(功能代码与测试代码)
    4. 周边代码(demo/扩展/子项目)
    5. 外部宣传
    6. 其余各类杂务
  8. 成为组织的一员
    1. 交流圈
    2. 组织结构
    3. 开源项目的组织方式*
    4. 基本礼仪
  9. 本身发起一个开源项目
  10. 延伸阅读
  11. 贡献者
  12. 开源问答

 

via:http://www.teamhost.org/projects/learn-with-open-source/wiki/Wiki网络

相关文章
相关标签/搜索