All Projects → uhafner → codingstyle

uhafner / codingstyle

Licence: other
Java coding style and template project used at Munich university of applied sciences

Programming Languages

java
68154 projects - #9 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to codingstyle

eslint-config-javascript
Write bulletproof JavaScript like a pro! 😎
Stars: ✭ 34 (+78.95%)
Mutual labels:  coding-standards, coding-style
Codor
Custom PHPCS sniffs to find Code Smells
Stars: ✭ 40 (+110.53%)
Mutual labels:  coding-standards, coding-style
eslint-config
MOXY eslint configuration to be used across several JavaScript projects
Stars: ✭ 14 (-26.32%)
Mutual labels:  coding-standards, coding-style
phpcs-psr4-sniff
[READ-ONLY] PHP_CodeSniffer sniff that checks class name matches PSR-4 project structure.
Stars: ✭ 23 (+21.05%)
Mutual labels:  coding-standards, coding-style
verilog-coding-style
Verilog (SystemVerilog) coding style
Stars: ✭ 36 (+89.47%)
Mutual labels:  coding-standards, coding-style
OpenStaticAnalyzer
OpenStaticAnalyzer is a source code analyzer tool, which can perform deep static analysis of the source code of complex systems.
Stars: ✭ 19 (+0%)
Mutual labels:  coding-standards, coding-style
cscs
A curated list of Coding Style Conventions and Standards.
Stars: ✭ 1,486 (+7721.05%)
Mutual labels:  coding-standards, coding-style
Coding-Standards
Coding Guidelines for C#
Stars: ✭ 125 (+557.89%)
Mutual labels:  coding-standards, coding-style
XS-Labs-Style-Guide
XS-Labs Coding Style Guide for C, C++, Objective-C and x86 Assembly
Stars: ✭ 20 (+5.26%)
Mutual labels:  coding-standards, coding-style
grunt-wp-css
Format style sheets according to the WordPress CSS coding standards.
Stars: ✭ 36 (+89.47%)
Mutual labels:  coding-standards
php-cs-fixer-extensions
PHP-CS-Fixer extensions and configurations
Stars: ✭ 71 (+273.68%)
Mutual labels:  coding-standards
sniff
Simpler PHP code sniffer built on top of PHP-CS-Fixer.
Stars: ✭ 14 (-26.32%)
Mutual labels:  coding-standards
grunt-stylelint
Stylelint adapter for the Grunt task runner.
Stars: ✭ 26 (+36.84%)
Mutual labels:  coding-standards
symfony-custom-coding-standard
Customized Symfony coding standard
Stars: ✭ 13 (-31.58%)
Mutual labels:  coding-standards
coding-standard
Consistence - Coding Standard - PHP Code Sniffer rules
Stars: ✭ 73 (+284.21%)
Mutual labels:  coding-standards
coding-standard
🐽 Tuned & very strict coding standards for PHP projects
Stars: ✭ 13 (-31.58%)
Mutual labels:  coding-standards
NormEZ
Coding-style checker for Epitech students. This program analyzes your C source files for Epitech coding-style violations.
Stars: ✭ 73 (+284.21%)
Mutual labels:  coding-style
eslint-config-naver
Naver JavaScript Coding Conventions rules for eslint
Stars: ✭ 184 (+868.42%)
Mutual labels:  coding-standards
development-best-practices
程序员开发规范,其中包括Java、JavaScript、CSS、Oracle、MySQL的开发编码规范和规约
Stars: ✭ 14 (-26.32%)
Mutual labels:  coding-standards
wptide
🌊 Tide is a series of automated tests run against every WordPress.org theme and plugin
Stars: ✭ 77 (+305.26%)
Mutual labels:  coding-standards

GitHub Actions Codacy Badge Codecov LGTM grade Total alerts

Each Java project should follow a given coding style. I.e., all contributions to the source code should use the same formatting rules, design principles, code patterns, idioms, etc. This coding style provides the set of rules that I am using in my lectures about software development at Munich University of Applied Sciences.

This project describes the coding style in detail (currently only available in German) and serves as a template project. It provides all necessary resources for a Java project to enforce this coding style using the following static analysis tools via Maven (and partly in IntelliJ):

Compiling this project requires a JDK version of 11 or higher (event though the language level still is set to Java 8 for all classes and dependencies).

Moreover, this project provides some sample classes that already use this style guide. This classes can be used as such but are not required in this project. These classes also use some additional libraries that are included using the Maven dependency mechanism. If the sample classes are deleted then the dependencies can be safely deleted, too.

This project and the associated static analysis tools are already running in continuous integration: an example CI pipeline is active for GitHub Actions. For Jenkins a full CI pipeline has been configured that includes stages to compile, test, run static code analysis, run code coverage analysis, and run mutation coverage analysis, see section Continuous Integration for details. Additionally, some development tools are configured in this GitHub project, that evaluate the quality of pull requests, see section integration of external tools.

Content of the style guide (only in German):

A lot of ideas in this style are based on the following path-breaking books about software development:

  • [1] "The Elements of Java Style", Vermeulen, Ambler, Bumgardner, Metz, Misfeldt, Shur und Thompson, Cambridge University Press, 2000
  • [2] "The Pragmatic Programmer: journey to mastery", Second Edition, Andrew Hunt, David Thomas, Addison Wesley, 2019
  • [3] "Code Complete: A Practical Handbook of Software Construction", Steve McConnell, Microsoft Press, 2004
  • [4] "Clean Code: A Handbook of Agile Software Craftsmanship", Robert C. Martin, Prentice Hall, 2008
  • [5] "Effective Java", Third Edition, Joshua Bloch, Addison Wesley, 2017
  • [6] "Refactoring: Improving the Design of Existing Code", Martin Fowler, Addison Wesley, 1999
  • [7] "Java by Comparison", Simon Harrer, Jörg Lenhard, Linus Dietz, Pragmatic Programmers, 2018

All documents in this project use the Creative Commons Attribution 4.0 International License. Source code (snippets, examples, and classes) are using the MIT license.

License: MIT License: CC BY 4.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].