Re: Improving IDE support for scala GSOC 2105
Martin Senne <[email protected]>
| Newsgroups | gmane.comp.lang.scala |
|---|---|
| Message-ID | <CAAYF-rP0P4QNvXyFvX2C5qT1RDyvSb_MKhYxJ2OAyNkWPad=+A@mail.gmail.com> |
+1 .... according to KISS. Am 18.03.2015 06:00 schrieb "Naftoli Gugenheim" <[email protected]>: > That would be really nice. But it would be good to start with more basic > things (have they implemented yet the ability to change parentheses to > curly braces and vice versa?). > > On Tue, Mar 17, 2015, 4:14 AM Muhammad Mohsin Khan Niazi < > [email protected]> wrote: > >> Hi everyone, >> >> I am thinking to improve IDE support for Scala by pointing out >> improvements (inside code editor) that can help in writing better code. The >> main idea is inspired by what Resharper does for C# or IntelliJ/Netbeans >> does for Java 8. Take a simple example where anonymous method can be >> replaced by lambda expression Idea IDE will point out that this method can >> written in more concise way. >> >> >> <https://lh3.googleusercontent.com/-v-RbbYBWlTs/VQfhJO6P8kI/AAAAAAAAAUs/6CDbSihSQj4/s1600/Screenshot%2Bfrom%2B2015-03-17%2B12%3A34%3A40.png> >> Similarly resharper points out many instances where single line LINQ can >> replace many lines of traditional code. >> >> >> <https://lh4.googleusercontent.com/-teAUiw_w0uM/VQfhh6rtFwI/AAAAAAAAAU0/ZwIsW8LckRY/s1600/index_codeanalysis.png> >> >> (image source: www.jetbrains.com <https://www.jetbrains.com/resharper/>) >> <https://www.google.com/search?q=resharper+9&safe=active&client=ubuntu&hs=mYo&channel=fs&biw=1252&bih=589&tbm=isch&tbs=simg:CAQSpwEJCkzce8Klxu0akgELELCMpwgaiAEKOggCEhSjCNkJmwjCCc4JpxC_1CMQPnQirHBogZIa3dZ0IwLBpFTovbfQ9uf5XHsjiUsAe8HCAA5nSnzwKSggDEhTCDNMBwwzSAdcBuQzPHcEM-wvqBxowghvXE_1d82Y0IDv6MqDzZ0slmfCd4RgfdgbES6eRAQkBCEGD9wHKcXBhGxJkBPgJSDCE0Cu0KpGmvbA> >> >> <https://lh4.googleusercontent.com/-teAUiw_w0uM/VQfhh6rtFwI/AAAAAAAAAU0/ZwIsW8LckRY/s1600/index_codeanalysis.png> >> Similarly for Scala we can replace a pattern matching solution: (Example >> from >> http://reactive.xploregroup.be/blog/9/Scala-tips:-Improving-the-imperfect-part-1 >> ) >> >> val result: Option[String] = person.contactDetails match { >> case Some(details) => details.address match { >> case Some(address) => address.street match { >> case Some(street) => Some(street.capitalize) >> case _ => None >> } >> case _ => None >> } >> case _ => None >> } >> >> with the flat map solution to get more concise code: >> >> val result = person.contactDetails.flatMap { details => >> details.address.flatMap { address => >> address.street.map { street => >> street.capitalize >> } >> } >> } >> >> >> But this is just the start we can have a look at other IDEs and think of our own ideas to >> improve the IDE support for Scala including bug fixes. So what do you guys think of this idea? >> Is it suitable for GSOC? >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "scala-language" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > -- > You received this message because you are subscribed to the Google Groups > "scala-language" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "scala-language" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.