Use LaTeX instead of Microsoft Word, Google docs etc. Some of its advantages include:
Painless citations
It separates content from formatting
It's text-based so it's easier to version control in Git
When you need to include code (e.g. Java) in the paper, use the LaTeX listings package instead of embedding screenshots of the code.
When you need to refer to code elements (e.g. class names, method names) within the main body of the paper, use \emph{} to make them stand out.
If you version control your LaTeX paper/report in a Git repository, make sure to leave out all the generated/temporary artefacts by editing your .gitignore accordingly.