1. A method for accessing source code shared over a network, comprising at least one computing device for processing the steps of: providing the network with an Integrated Development Environment (IDE) which includes classification-based navigation and content dependent searching for code patterns; analyzing working code on a receiving node in the network to identify a context of the working code, and assigning at least one predetermined category to the working code based on the identified context, wherein the categories include comments, type names and method names; querying a directory using the at least one predetermined category assigned to the working code to identify at least one predetermined category assigned to source code that at least one of matches or corresponds to the category assigned to the working code; returning a list of categories; selecting at least one category from the list of categories; retrieving the source code from a sharing node in the network to the retrieving node based on the at least one category selected from the list of categories, wherein the retrieving comprises querying a search engine corresponding to the sharing node to retrieve the source code; analyzing the source code on the sharing node to identify a set of code patterns, and assigning the at least one predetermined category to the source code based on the identified set of code patterns; storing code pattern information that is based on the analysis and assignment in a directory; and selectively indexing the source code, prior to analyzing the working code, wherein the indexing comprises: recognizing at least one programming language of the source code; analyzing sections of the source code; indexing relevant portions of the source code based on the at least one programming language, wherein the relevant portions include comments, type names and method names; recognizing and indexing at least one source code dependency corresponding to the source code; and recognizing a set of code type hierarchies associated with the source code; and indexing the code types in the recognized set of code type hierarchies; notifying a set of other nodes in the network of the availability of the source code.