著作权申明
本作品选择采用:署名-非商业性使用-相同方式共享 的CC协议。您可以:复制、发行、展览、表演、放映、广播或通过信息网络传播本作品。以及创作演绎作品。惟须遵守下列条件:
署名 — 您必须按照作者或者许可人指定的方式对作品进行署名。
署名方式为:在转载或新作品开头的显著位置,注明原作者的姓名、来源及其采用的知识共享协议,与本作品在Huihoo Code上的原发地址建立链接非商业性使用 — 您不得将本作品用于商业目的。相同方式共享 — 如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。
如何参与这个写作项目
注册成为 http://code.huihoo.com 的会员,并在申请说明里注明参与开源学习的写作项目。发送邮件到zhuangbiaowei # gmail dot com,介绍你希望参与的章节,如果能够附上过去曾经写过的blog,则更好。经过几次来回邮件的简单交流,我能够理解你的基本思想,则会帮你激活会员帐号,并将你的帐号加入这个项目。共同编辑这个wiki。如果对于这个写作的内容,有任何意见和建议,也欢迎随时给我发邮件。在讨论区 可以发起各种话题的讨论。在问题区 可以提交各种issues,监督进度。如何认领某一小节并开始写作?先写起来,大家可以再后续帮助修改,先到先得。
目录
开始之前
这份文档的目标读者基本条件你需要明确的一些事情开始
学习软件开发的几条主要途径为什么借助开源学习是最有效的选择一门语言必须初步掌握的基本功关于开发工具
关于开发工具的分类(by 李路)各种参考资料选择一个开源项目
到哪里去寻找开源项目什么样的开源项目适合初学者值得推荐给大家的开源项目Hello World
下载源代码的N种办法
关于源代码管理与版本控制寻找早期开源项目的源代码SVN、Git、Mercurial快速介绍基于包管理的方式获取源代码让代码运行起来
Ruby版PHP版Java版Python版JavaScript版C/C++版如何克服可能遇到的困难理解开源项目
静态理解
目录结构包名与文件名类名、函数名与变量名注释与ReadmeUML图外部文档动态理解
输出日志设置断点与单步跟踪抛出异常修改代码,破坏性尝试主线与支线
寻找入口跟踪关键流程寻找挂接点外围代码
必须存在的外围功能demo/example单元测试知其所以然修改开源项目
尝试修改代码提出一个小小的需求如果不能搞定,试试看能不能乱来寻求认可的艰难历程为开源项目做贡献
提bug与建议帮助完善文档提交代码(功能代码与测试代码)周边代码(demo/扩展/子项目)外部宣传其他各种杂务成为组织的一员
交流圈组织结构开源项目的组织方式*基本礼仪自己发起一个开源项目延伸阅读贡献者开源问答
via:http://www.teamhost.org/projects/learn-with-open-source/wiki/Wiki
转载于:https://www.cnblogs.com/hnrainll/p/3522086.html
相关资源:数据结构—成绩单生成器