- Tools/approaches for Java projects
- (:ru:) "Что такое Работающий Продукт и как его делать": https://www.youtube.com/watch?v=KwPrt17wcZs
An approach to email management aimed at keeping the inbox empty.
A file manager for Windows.
A free source code editor and Notepad replacement that supports several languages.
- https://notepad-plus-plus.org/
- EditorConfig plugin: https://github.com/editorconfig/editorconfig-notepad-plus-plus
Install and update Jetbrains tools easily.
A font for developers.
- Lombok: https://plugins.jetbrains.com/plugin/6317-lombok
- Maven Wrapper (for IDEA versions below 2020.2): https://plugins.jetbrains.com/plugin/10160-maven-wrapper-intellij-idea-plugin
- Laconic POM: https://plugins.jetbrains.com/plugin/10580-laconic-pom
- .ignore: https://plugins.jetbrains.com/plugin/7495--ignore
- Advanced Java Folding: https://plugins.jetbrains.com/plugin/9320-advanced-java-folding
- Checkstyle-IDEA: https://plugins.jetbrains.com/plugin/1065-checkstyle-idea
- SonarLint: https://plugins.jetbrains.com/plugin/7973-sonarlint
- Save actions: https://plugins.jetbrains.com/plugin/7642-save-actions
How to set plugins that are required for the project. This configuration can be shared within the team and IDEA will notify developers if they miss some plugins.
Specifies intentionally untracked files to ignore
- https://git-scm.com/docs/gitignore
- https://github.com/github/gitignore
- .gitignore for Jetbrains products (most of IDE settings are commited): https://github.com/github/gitignore/blob/master/Global/JetBrains.gitignore
Git attributes per path.
- https://git-scm.com/docs/gitattributes
- https://github.com/alexkaratarakis/gitattributes
- https://dev.to/deadlybyte/please-add-gitattributes-to-your-git-repository-1jld
EditorConfig helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs
- https://editorconfig.org/
- IDEA code style can be managed from EditConfig: https://blog.jetbrains.com/idea/2019/06/managing-code-style-on-a-directory-level-with-editorconfig/
Automated dependency updates. Supports http://github.com/, https://gitlab.com/, https://bitbucket.org/.
Automated dependency updates for http://github.com/.
- GitFlow: https://medium.com/@okandavut/what-is-gitflow-c0be7a659992
- GitHub flow: https://guides.github.com/introduction/flow/
- (:ru:) "Как нам спасти Java": https://www.youtube.com/watch?v=TSAlj04_tkA + https://www.youtube.com/watch?v=cPXTozVjSHo
- Javac params: https://docs.oracle.com/en/java/javase/11/tools/javac.html
- JPMS
- Split Packages issue: https://www.logicbig.com/tutorials/core-java-tutorial/modules/split-packages.html
Build tool
Build tool
The Maven Wrapper is an easy way to ensure a user of your Maven build has everything necessary to run your Maven build.
- https://github.com/takari/maven-wrapper
- http://jakub.marchwicki.pl/posts/2015/06/04/maven-wrapper/
- IDEA natively supports Maven Wrapper from 2020.2: https://blog.jetbrains.com/idea/2020/05/intellij-idea-2020-2-early-access-program-is-starting/
- https://junit.org/junit5/docs/current/user-guide/
- Migration from JUnit 4: https://junit.org/junit5/docs/current/user-guide/#migrating-from-junit4
- https://site.mockito.org/
- Mocking a final class: https://www.baeldung.com/mockito-final
- https://pitest.org/
- Gradle plugin: https://gradle-pitest-plugin.solidsoft.info/
- https://checkstyle.sourceforge.io/
- Checkstyle-IDEA plugin: https://plugins.jetbrains.com/plugin/1065-checkstyle-idea
- https://www.jetbrains.com/help/idea/inferring-nullity.html
- Spring Null-Safety Annotations: https://www.baeldung.com/spring-null-safety-annotations, https://docs.spring.io/spring/docs/5.2.9.RELEASE/spring-framework-reference/core.html#null-safety
- Spring Data null-safety: https://docs.spring.io/spring-data/commons/docs/current/reference/html/#repositories.nullability.annotations
- https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-vs-value
- https://www.baeldung.com/configuration-properties-in-spring-boot
- https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-configuration-metadata.html#configuration-metadata-annotation-processor
- https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Migration-Guide#configuration-properties-migration
- https://projectlombok.org/
- https://projectlombok.org/features/configuration
- projectlombok/lombok#2044
Java annotation processors to generate simple, safe and consistent value objects
- https://hibernate.org/validator/
- https://docs.jboss.org/hibernate/validator/7.0/reference/en-US/html_single/#validator-annotation-processor
- https://beanvalidation.org/2.0/
Java mapper library
- https://mapstruct.org/
- https://mapstruct.org/documentation/dev/reference/html/#mapping-with-constructors
- https://mapstruct.org/documentation/dev/reference/html/#mapping-with-builders
Database migrations tool
Database migrations tool