[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [recommenders-dev] How to start with Recommender's source code

Ok, i will read the SnipMatch's source code first. 

One question: Does SnipMatch and Recommenders' merge job start  yet or not ? In my view, it is not hard if we just merge SnipMatch's source code into Recommenders. Do we have a full plan about how to improve SnipMatch's current features ? Or we just start this part of job from zero.

2012/2/18 Marcel Bruch <bruch@xxxxxxxxxxxxxxxxxx>
Hi Cheng,

I was hoping Doug would jump in and provide more details on Snipmatch. Maybe he's off for a few days.

Your summary is right to the point. That's how the system works. Doug has committed the sources to our Eclipselabs repositories. You might spent some time on the sources and dive into the internals here http://code.google.com/a/eclipselabs.org/p/code-recommenders/source/browse/?repo=kiyomi

Let's wait a few days and get Doug and/or Zi involved...


On 17.02.2012, at 11:50, chen cheng wrote:

Hi Marcel,

I am happy to have a chance to work for Recommenders with you guys. I have a trial of SnipMatch, you said SnipMatch is developed by you guys, and now want to merge it into Recommenders, then release it in Eclipse 4.2, right?

I can not find much documents about SnipMatch, Here is my understanding of its structure (Correct me if i am wrong).
1. SnipMatch store many common code template in remote server side, in MySQL, MongoDB or etc.
2. Every user can create and store his own code template in SnipMatch, we call it personal code template. Each code template have code content and search label. In the demo:

Code template content:
Random generator = new Random();
int randomIndex = generator.nextInt(${int}+1);

Search Label:
generate a random number between 0 and $int

3. User login in Eclipse, print "Ctrl + Enter", if use input some search label, SnipMatch Eclipse client will search remote server ( both in common DB and user's personal DB) to get the corresponding code template content, replace parameter define, then paste these aim code into Eclipse editor.

This is how SnipMatch works, in my trial, SnipMatch works well, and it even has "an code template editor". If you want to merge it into Recommenders, i think it is easy. Now, you want to do some improvement job, right ?

Now i think my GSoC project will be:
1. User get code template search result, i should supply parameter replace module, and then paste the aim code in to Eclipse editor.
2. Add configuration module in Eclipse preferences for SnipMatch.
3. You words "local data storage". User can store his personal code templates in local environment, keep synchronous with remote server. Meanwhile, add an cache for his frequently used code templates or most popular code template in remote server into  local data store environment.

Am i right ? And some other things, see comments below :-)

2012/2/17 Marcel Bruch <marcel.bruch@xxxxxxxxx>
Hi Chen,

Recommenders is definitely an excellent project to get started with open source - and your help is welcome! 

Regarding GSOC projects:

We are currently working on 5 different areas:

* Intelligent Code Completion
* Extended Documentation
* Snipmatch Template completion
* Code Search, and 
* Stacktrace Search

For GSOC, my favorite project would be the refinement of IDE/UI integration of Snipmatch - our community driven code snippets store for Eclipse (see http://snipmatch.com/ for some demo videos). Snipmatch is about to move to Code Recommenders and as far as I can see a helping hand to make it ready for Eclipse Juno Release would be welcome.  Doug, what do you think? Wouldn't it be a great GSOC?

We've currently four students working on Snipmatch-related areas. Johannes Born and Johannes Dorn are working on different mining  strategies to automatically find code snippets from example code, Andreas Kaluza worked on sophisticated algorithms to merge templates with already existing code, and Jakob Eichler just started on an code template editor for Snipmatch to ease the creation of snippets in Eclipse. What's missing (Doug, correct me if I'm wrong) is someone who works on the completion engine itself and the surrounding parts like preferences, local data storage etc. etc. 

The only "problem" with this is, there there is some time pressure. We'd love to have Snipmatch ready for Eclipse Juno, which means that a significant amount of work needs to be done before the GSOC ends ;)

If my code can be released in Eclipse Juno, it will be a really happy thing for me and give me more power :-)

About the time pressure, it is OK, GSoC supplies a start point for my open source life, but the open source job and result is more important. If my GSoC project was accepted, it is ok for me to finish the whole things before GSoC's end to catch Eclipse Juno's release.

Regarding your test generation proposal. I like the idea much, but at the moment I think the team must focus on its existing core projects to make Code Recommenders a success for Eclipse 4.2 (Juno) release in June. There is still a lot work to do. Things might change after Juno and we investigate your test generation proposal more deeply. Sounds OK?

Yeah, if i integrate into Recommenders' community deeply, we can discuss the Unit test features in the future. CodePro AnalytiX's code analyse and unit test creation features are really amazing and very useful, but this project is not open source.  If Recommenders supplies features like this, it will be more powerful. I hope that way will come true in the future 

recommenders-dev mailing list

Best Regards From Cheng Chen [chengchendoc@xxxxxxxxx]