Archived

This forum has been archived. Please start a new discussion on GitHub.

How to read the sourcecode of ICE

ICE is absolutely a masterpiece of network programming. So i plan to read the source code to improve my programming ability. So far, i have finished the IceUtil part. But the remaining core parts, (not including the service extensions) seems much more complicated. I encounter many problems which i guess can not figure out without your help. Also, i guess that i have no way to understand the authors' design and implementation considerations. Taking into account of that point, the benefit of source code reading will be discounted.

what's the roadmap of reading open source software like this, Would anyone give me some advice? Or supply me some detail document to improve my understanding of ICE?

thanks!!

Comments

  • xdm
    xdm La Coruña, Spain
    Hi kangyin,

    If you whant to better understand Ice you must read also the Handbook specialy Ice Run time in detail can help you undertand how things works for the Ice core. For other services read first handbook for the corresponding service. Also newsletter archive and faqs have lot of iformation about why things are in a specific way. Also if you care about implementaion can be interested for you read if you have not done yet, Pattern Oriented Software architecture Volumen 2 (patterns for concurrent and network objects).

    Hope this help.
  • Thanks for your advice.
  • Hi,YKY,
    Nice to see you from XJTU.:)))
    I once worked on ICE for serveal months. I think the best approach to learn the code is to dubug the sample applications from the simplest one. You will go through the ICE core and get some basic ideas about its design philosophy. As xdm mentioned, you can find many pattens from the Pattern Oriented Software architecture Volumen 2,such as connector, recevier, lead- fellow and so on so forth. Of course patience is the most important.
    Personally, I don't ICE source code is very easily readable. Espcially for some parts. In one file may be congested thousands of line codes. It sometimes makes me headache. :) .
    But if you want to be a good networking expert, ICE is definitly one of the best starting point to gain experiences.

    Good luck, my schoolmate.