Open document: learn software development with the help of open-source project
We sincerely invite you to join us!
#LICENSE
- The content in this repo is licensed CC-NC-BY-SA.
- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Attribution - you must give the credit the author or licensor have made
- If supplied, you must provide the name of the creator and attribution parties, a copyright notice, a license notice, a disclaimer notice, and a link to the material.
- NonCommercial - You may not use this work for commercial purposes.
- If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
- Attribution - you must give the credit the author or licensor have made
- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Before start
- Target Audience
- Basic Requirements
- Something Need to know First
- Start
- Several Main Methods of Learning Software Development
- Why Open-source is Helpful
- Choosing a Language
- Basic Skills You Should Have
- On Development Tools 1. Classification of Development Tools 1. References
- Select an Open-source Project
- Where to Find Open-source Projects
- What Kind of Open-source Projects are Suitable for Beginners
- Highly Recommended Open-source Projects
- Hello World
- Methods of Downloading SC 1. On Source Control and Version Control 1. Find SC of Early Open-source Projects 1. Whirlwind Introduction to SVN, Git and Mercurial 1. Way to get SC Based on Package Management
- Make It to Run 1. For Ruby users 1. For PHP users 1. For Java users 1. For Python users 1. For JavaScript users 1. For C/C++ users
- Overcome the Problems You May Encounter
- Understanding the Source Code
- Static Understanding 1. Directory Structure 1. Package Name and File Name 1. Class Name, Method Name and Variable Name 1. Comments and README file 1. UML Diagram 1. External Documents
- Dynamic Understanding 1. Output Logs 1. Setting Breakpoint and Stepping Through 1. Throwing Exception 1. Try to Change
- Main Line and Branch Line 1. Where to Begin 1. Tracking Critical Process 1. Find the Mount Point
- Surrounding code (?) 1. Sub-functions Must Existed 1. demo/example 1. Unit Testing
- Knowing How
- Modify the Open Source Project
- Changing from Requirements
- Finding Codes for Reference by following clues
- Making bigger changes -- Structural Adjustment
- Hardships of seeking Approval
- Finding Bugs and Making Proposals
- Helping to Improve Documentation
- Pushing Your Codes (Function Code and Test Code)
- Surrounding Code (Demo/Extension/Subproject)
- Promotion
- Other Odd Jobs
- Join the Group
- Partners
- Organization Structure
- Organization of Open-source Project
- Basic Etiquette
- Create an Open Source Project
- Read More
- Contributor
- FAQ