Reprinted please indicate the source and the author contact: http://blog.csdn.net/mimepp
Contact information: Yu Tao <yut616 at Sohu dot com>
After graduating from college, I did not write more than a hundred lines of code. Is there a lot of people? I read a lot of code, but I made a mistake everywhere.
In order to accumulate some practical software development experience at the end of university studies, many students can really write some code and make things according to certain quality requirements, it will help you a lot in your future work.
However, you generally do not have a clear goal for what to do and where to start.
Here we will list some projects that can be used by you. If you have implemented the functions in these projects, the door to domestic companies is basically open to you.
1. Object-oriented objects:
Interested in Linux software development or embedded system Linux development.
Linux + C language.
Ii. Code specifications:
1. Follow the Linux kernel coding style:
Http://lxr.linux.no/#linux+v3.0.4/Documentation/CodingStyle
2. Read the code carefully before compilation to ensure a successful compilation.
You can do this by repeating this exercise.
Do not submit your code editing error to compile for check.
It takes more than 10 minutes before code compilation to let the logic run in your brain and see which exceptions are not found.
After a problem occurs, the debugging time is much longer than this time.
If the code you write is consistent with the result formatted with lindent, it will be okay.
Lindent reference:
Http://blog.csdn.net/mimepp/article/details/2224814
It is important to write elegant code.
3. format template used for code submission
Code submission SVN check in format template, refer:
Http://blog.csdn.net/mimepp/article/details/6838545
Iii. How to manage projects:
1. register your own project on Google Code
Use open source to manage your projects, such as SVN, wiki, and bug report.
All the things you do will be recorded. Don't make a "no trace of snow ".
2. Write wiki on Google Code, record your design ideas, develop technical points, and write memo
Good code is designed, not debugged.
Memo can include: Problem description, problem analysis, problem solving, testing, todo list
Writing memo helps you develop your expression skills and keep records. Poor memory.
3. Use the UML tool to draw your overall framework diagram, and paste the sequence diagram of the main modules in your Wiki memo.
UML is a language for communication between engineers. You can draw these UML diagrams professionally, which will be of great help to future work.
Available UML tools such as Jude:
Http://blog.csdn.net/mimepp/article/details/2058170
4. In the project, set a function goal for yourself every week and try to finish it at this time.
In future work, your credit can be set up on time and in quality.
You must know that development in actual work is time-consuming.
After the target is determined, do not go to other unrelated modules before this time point, that is, do not run off.
5. Everything is done in Linux
You can use Ubuntu Linux. Instead of running a Linux instance in a virtual machine, you can directly install linux on your machine without any other installation.
Stick to work in Linux.
If you want to become a Linux developer, you need to think about the problem in Linux.
Do not always use Windows + Source insight. This is unqualified.
Iv. debugging tools:
1. GDB
Debug crash in your code using GDB on x86. This should happen.
2. valgrind
In x86, valgrind is used to check the memory leakage of your code. This will certainly happen.
Refer:
Http://blog.csdn.net/mimepp/article/details/4197340
3. GDB Server
Learn to use it.
5. Attitude
Be careful, be patient, and test.
A specific hands-on project may take you months or even a year, but it will take you some time to really build a project and stick to it to its extreme, with unexpected gains.
The so-called Done, done well, but also do beautiful.
You must know that in the first few years of your work, you may be maintaining the old Code, repairing and completing the code, and you have no chance to design a complete function or module on your own.
Write the code to 10 thousand lines and you will be able to see your changes.