Selection of Linux software hands-on projects for college students (in sequence)

Source: Internet
Author: User
Tags valgrind

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.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.