[Mono-dev] Google Summer of Code project ideas

Alexander Mezin mezin.alexander at gmail.com
Wed Apr 4 09:31:13 UTC 2012


I have an idea of Summer of Code project.
I call it "Smart usings for C#". I'm writing code not only in C#, but
in Java too, and I noticed one difference between C# and Java IDEs:
while most java IDEs can automatically add imports (usings in C#), it
seems that only ReSharper can do it in C#. I think that it will be
nice to have such feature in MonoDevelop. Actually, I'm feeling very
uncomfortable when I have to manually type usings in MonoDevelop after
writing code in Eclipse. But Eclipse does it not the best way too. It
lists possibly everything in auto-completion suggestions. I think a
better way is providing a command like "Convert to unqualified name".
This command must remove all namespace prefixes from class/method
currently under cursor and insert usings at correct location - at the
beginning of the file or at scope start. I think the most appropriate
for such settings is "Formatting policy". Also, if it is possible to
automatically generate using for one identifier, it's not too hard to
do this for entire source file. I think it's best to provide a
separate command for this, and another option in formatting policy. Of
course, old usings will be modified during formatting to conform with
formatting policy.
Could someone be a mentor for this project or have any suggestions?

Also I looked at proposed ideas page on Mono site and choose two
interesting for me:
a) "Extend SIMD support - Extend SIMD support to existing data types
in MonoGame to assist existing applications that use the MonoGame
matrix and vector types to use SIMD operations instead of limiting
this to the Mono.SIMD namespace". I think I can implement this
project, because I am familiar with XNA and SIMD. But, to be fair, I
don't know much about MonoGame and Mono.SIMD. However, I think that
Mono.SIMD isn't much different from SIMD intrinsics for C/C++. The
only problem is that I don't know how to write a good proposal for
this project - it is hard to add something to project description, and
also timeline will look like a list of MonoGame's math classes. Can
such proposal be accepted?

b) "Mono.Cecil clone for Dalvik's DEX file format" - I am not familiar
with either Cecil and Dalvik, but I have experience writing, debugging
and fixing code in Java and C#, so I won't only run some automatic
code converter, but also will be able to find and fix bugs appeared
because of automatic code conversion. It seems that this project is
intended to run on Android? If it is, I think that existing automatic
code conversion tools will require much tuning, mostly on type
mapping, or I even will have to write my own tool to achieve a good
result. Could someone describe what is expected way of implementing
this project idea? Is there a potential mentor for this project?

More information about the Mono-devel-list mailing list