An open API service indexing awesome lists of open source software.

https://github.com/diogothecoder/make-java-great-again

BSc (Hons) Computer Science (Software Engineering) - Final Year Project - Make Java Great Again! Refactoring to Functional
https://github.com/diogothecoder/make-java-great-again

functional-programming hacktoberfest java java-8 java-parser java-parsing lsp lsp-client lsp-server lsp4j refactoring visual-studio

Last synced: 5 days ago
JSON representation

BSc (Hons) Computer Science (Software Engineering) - Final Year Project - Make Java Great Again! Refactoring to Functional

Awesome Lists containing this project

README

          

Make Java Great Again Logo


CircleCI Badge
Azure Build
Codacy Badge
java: >= 8


_Make Java Great Again! Refactoring to Functional_, is a dissertation-based project supervised by [@BrunelCS](https://github.com/BrunelCS) and [Dr Rumyana Neykova](https://www.brunel.ac.uk/people/rumyana-neykova), who's sole aim is to increase the usage of functional paradigms in Java and developer's confidence in using these paradigms.





## Features

Currently, this VS Code extension provides code highlighting, quick fixing and refactoring for the following patterns:
* forEach
* map
* reduce

> Code Highlighting
>
> ![Code Highlighting](https://raw.githubusercontent.com/DiogoTheCoder/make-java-great-again/master/examples/foreach-codehighlight.png)

> Quick Fix
>
> ![Quick Fix](https://github.com/DiogoTheCoder/make-java-great-again/blob/master/examples/foreach-quickfix.png?raw=true)

> Refactor Entire File
>
> ![Refactor](https://github.com/DiogoTheCoder/make-java-great-again/blob/master/examples/reduce-refactorfile.gif?raw=true)

## Contributing

In order to get this Project running locally on your machine for contributing, you'll need to clone this repo then run the following:

_Language Server_: `yarn build` (this will generate the appropriate `.jar` files, which need compiling after any changes made)

_VS Code Extension_: `yarn compile` or `yarn watch`, preferably just running it via the Debugger on VS Code

Please ensure you are running Java 8, since this was when functional pardadigms were introduced and the extension must be backwards compatible upto Java 8.

### For more information

* 👨‍🏫 [Presentation](https://docs.google.com/presentation/d/1_jPc1FcllnkuTHoz4-MZNqDyj8vIujrTlvCh0h7rGds/edit?usp=sharing)

**Enjoy!**