|
1 | 1 | # Java Best Practices |
2 | | -I've been Programming, Designing and Architecting Java applications for 15 years. I would like this page to serve as a good starting point for programmers to understand what it takes to build good applications. I would talk about Best practices and Frequently asked questions in Coding, Designing and Architecting Java Applications. If you have feedback, contact me on my website http://www.in28minutes.com. |
| 2 | +I've been Programming, Designing and Architecting Java applications for 15 years. I would like this page to serve as a good starting point for programmers to understand what it takes to build good applications. I would talk about Best practices and Frequently asked questions in Coding, Designing and Architecting Java Applications. |
3 | 3 |
|
4 | | -* [About in28Minutes](#about-in28minutes) |
5 | | - - [Our Beliefs](#our-beliefs) |
6 | | - - [Our Approach](#our-approach) |
7 | | - - [Find Us](#useful-links) |
8 | | - - [Other Courses](#other-courses) |
| 4 | +### Some of our Best Selling Courses |
| 5 | +[](https://www.udemy.com/java-programming-tutorial-for-beginners/?couponCode=LEARN-2019) |
| 7 | + |
| 8 | +[](https://www.udemy.com/learn-python-programming-for-java-programmers?couponCode=LEARN-2019) |
| 9 | + |
| 10 | +[](https://www.udemy.com/software-architect-course-first-steps/?couponCode=LEARN-2019) |
| 11 | + |
| 12 | +[](https://www.udemy.com/microservices-with-spring-boot-and-spring-cloud/?couponCode=LEARN-2019) |
| 13 | + |
| 14 | +[](https://www.udemy.com/spring-tutorial-for-beginners/?couponCode=LEARN-2019) |
| 15 | + |
| 16 | +[](https://www.udemy.com/spring-web-services-tutorial/?couponCode=LEARN-2019) |
| 17 | + |
| 18 | +## 250 Youtube Videos |
| 19 | + - [5 Minute Introductions - Tools and Terminology](https://github.com/in28minutes/learn#5-minute-introductions---tools-and-terminology) |
| 20 | + - [Microservices](https://github.com/in28minutes/learn#microservices) |
| 21 | + - [Software Design](https://github.com/in28minutes/learn#software-design) |
| 22 | + - [Software Architecture](https://github.com/in28minutes/learn#software-architecture) |
| 23 | + - [Code Quality](https://github.com/in28minutes/learn#code-quality) |
| 24 | + - [Spring and Other FAQ](https://github.com/in28minutes/learn#spring-and-other-faq) |
| 25 | + - [Best Practices and Tips](https://github.com/in28minutes/learn#best-practices-and-tips) |
| 26 | + - [Web Service Best Practices](https://github.com/in28minutes/learn#web-service-best-practices) |
| 27 | + - [Java](https://github.com/in28minutes/learn#java) |
| 28 | + - [Interview Preparation](https://github.com/in28minutes/learn#interview-preparation) |
| 29 | + - [Web Application Security](https://github.com/in28minutes/learn#web-application-security) |
| 30 | + - [Modern Development Practices](https://github.com/in28minutes/learn#modern-development-practices) |
| 31 | + - [The in28minutes way](https://github.com/in28minutes/learn#the-in28minutes-way) |
| 32 | + |
| 33 | +### Modern Development Practices |
| 34 | +- [Modern Development Practices - Unit Testing - What is Mocking?](https://www.youtube.com/watch?v=xJreuzP2C0M) |
| 35 | +- [Modern Development Practices - Continuous Integration - 5 Tips to get better at CI](https://www.youtube.com/watch?v=i8WNumrDMcA) |
| 36 | +- [Modern Development Practices - Automation Testing - 5 Types of Automation Tests](https://www.youtube.com/watch?v=kwqH1C76siE) |
| 37 | + |
| 38 | +### Code Quality |
| 39 | +- [Introduction to Coding Standards](https://www.youtube.com/watch?v=XRKDpQ3b27M) |
| 40 | +- [Introduction to Code Quality](https://www.youtube.com/watch?v=M4Ip6joERv4) |
| 41 | +- [Code Review Best Practices](https://www.youtube.com/watch?v=hVJGu0xdXII) |
| 42 | +- [Agile and Evolutionary Design](https://www.youtube.com/watch?v=gt6js9zl1Rs) |
| 43 | +- [How to become a good programmer?](https://www.youtube.com/watch?v=iJe1Ru4bJQo) |
| 44 | +- [10 Maven Tips for Beginners](https://www.youtube.com/watch?v=exNl7USPfsg) |
| 45 | +- [Introduction to Modern Development Practices](https://www.youtube.com/watch?v=0Kqzfyp-w4s) |
| 46 | +- [Introduction to Non Functional Requirements](https://www.youtube.com/watch?v=JTYxAcZC8Io) |
| 47 | +- [Introduction to DevOps](https://www.youtube.com/watch?v=I-JkJZruWyU) |
| 48 | +- [Unit Testing (JUnit) Best Practices](https://www.youtube.com/watch?v=BukAouJgEjo) |
| 49 | +- [Static Code Analysis - Best Practices](https://www.youtube.com/watch?v=rB_BaftN3nE) |
| 50 | +- [10 Eclipse Tips for Beginners](https://www.youtube.com/watch?v=dN9GYsG1v_c) |
| 51 | +- [Code Quality - What is Technical Debt?](https://www.youtube.com/watch?v=BUQuYy0upPE) |
| 52 | +- [Code Quality - What is Refactoring?](https://www.youtube.com/watch?v=2kxgoBZw9Xc) |
| 53 | +- [Code Quality - What is Readability of Code?](https://www.youtube.com/watch?v=DoX3UiYn85A) |
| 54 | +- [Code Quality - What is Legacy Code?](https://www.youtube.com/watch?v=5odeVADF2Og) |
| 55 | +- [Code Quality - What is Code Duplication?](https://www.youtube.com/watch?v=uauZjxAu3p8) |
| 56 | +- [Code Quality - What is Code Coverage?](https://www.youtube.com/watch?v=Ra42js3AXIQ) |
| 57 | +- [Code Quality - What is Code Complexity?](https://www.youtube.com/watch?v=cE44izR3A5E) |
| 58 | +- [Code Quality - What are Coding Standards?](https://www.youtube.com/watch?v=7Ef_2_bQBKU) |
| 59 | +- [Code Quality - What are Code Smells?](https://www.youtube.com/watch?v=r0CyMrZBYa4) |
| 60 | +- [Code Quality - Top 5 Coding Standards](https://www.youtube.com/watch?v=xOPTwJyFnMM) |
| 61 | +- [Code Quality - An Overview](https://www.youtube.com/watch?v=aGQda_tlfdw) |
| 62 | +- [Code Quality - 5 Things to think about while Programming](https://www.youtube.com/watch?v=svJ_htqB12E) |
| 63 | + |
| 64 | +### Best Practices and Tips |
| 65 | +- [REST API Web Service Best Practices](https://www.youtube.com/watch?v=NzgFdEGI8sI) |
| 66 | +- [JPA And Hibernate Tutorial For Beginners](https://www.youtube.com/watch?v=MaI0_XdpdP8) |
| 67 | +- [Top 6 Java Unit Testing Frameworks](https://www.youtube.com/watch?v=VG7ohV4weYw) |
| 68 | +- [Top 5 Tools to Learn](https://www.youtube.com/watch?v=jA-I7JYxly0) |
| 69 | +- [Top 5 Languages to Learn](https://www.youtube.com/watch?v=gSME35wOO1E) |
| 70 | +- [Top 5 Frameworks to Learn](https://www.youtube.com/watch?v=kF1FleBnb1w) |
| 71 | +- [How to Introduce Yourselves in a Technical Interview?](https://www.youtube.com/watch?v=UuTKEUM6B-k) |
| 72 | + |
| 73 | + |
| 74 | +# Java Best Practices |
9 | 75 |
|
10 | 76 | - [Java Best Practices](#java-best-practices) |
11 | 77 | * [Journey of a Programmer](#journey-of-a-programmer) |
@@ -111,6 +177,7 @@ I've been Programming, Designing and Architecting Java applications for 15 years |
111 | 177 |
|
112 | 178 |
|
113 | 179 | ## Journey of a Programmer |
| 180 | + |
114 | 181 | ### How to become a good programmer? |
115 | 182 |  |
116 | 183 |
|
@@ -252,7 +319,7 @@ I've been Programming, Designing and Architecting Java applications for 15 years |
252 | 319 |
|
253 | 320 | ## Modern Development Practices |
254 | 321 |  |
255 | | -- Unit Testing and Mocking : We are in the age of continuous integration and delivery, and the basic thing that enables those is having a good set of unit test in place. (Don’t confuse unit testing with screen testing done manually to check if the screen flow is right. What I mean by unit testing is JUnit test’s checking the business logic/screen flow in a java method (or) set of methods). Understand JUnit. Here is a good start : https://www.youtube.com/watch?v=AN4NCnc4eZg&list=PL83C941BB0D27A6AF. Also understand the concept of Mocking. When should we mock? And when we should not? Complicated question indeed. Understand one mocking framework : Mockito is the most popular one. Easymock is a good mocking framework as well. |
| 322 | +- Unit Testing and Mocking : We are in the age of continuous integration and delivery, and the basic thing that enables those is having a good set of unit test in place. (Don’t confuse unit testing with screen testing done manually to check if the screen flow is right. What I mean by unit testing is JUnit test’s checking the business logic/screen flow in a java method (or) set of methods). Understand JUnit. Here is a good start : https://courses.in28minutes.com/p/junit-tutorial-for-beginners. Also understand the concept of Mocking. When should we mock? And when we should not? Complicated question indeed. Understand one mocking framework : Mockito is the most popular one. Easymock is a good mocking framework as well. |
256 | 323 | - Automated Integration Tests. Automated Integration Tests is the second important bullet in enabling continuous delivery. Understand Fitnesse, Cucumber and Protractor. |
257 | 324 | - TDD (actually I wanted to put it first). Understand what TDD is. If you have never used TDD, then be ready for a rude shock. Its not easy to change a routine you developed during decades (or years) of programming. Once you are used to TDD you never go back. I promise. This list of videos is a good start to understanding TDD. https://www.youtube.com/watch?v=xubiP8WoT4E&list=PLBD6D61C0A9F671F6. Have fun. |
258 | 325 | - BDD. In my experience, I found BDD a great tool to enable communication between the ready team (Business Analysts, Product Owner) and the done team (Developers, Testers, Operations). When User Stories are nothing but a set of scenarios specified is GWT (Given When Then) format, it is easy for the done team to chew at the user story scenario by scenario. With tools like Cucumber & Fitnesse, tooling is not far behind too. Do check BDD out. |
@@ -351,6 +418,7 @@ https://github.com/in28minutes/java-best-practices/blob/master/pdf/J2EE(Java%20E |
351 | 418 |
|
352 | 419 | ## Architecture |
353 | 420 | Details about the important parts of the systems and the constraints (boundaries, communication, standards, guidelines) |
| 421 | + |
354 | 422 | ## How to be a good architect? |
355 | 423 | - PDF - How to be a good architect : https://github.com/in28minutes/java-best-practices/blob/master/pdf/How%20to%20be%20a%20good%20Software%20Architect.pdf |
356 | 424 |
|
@@ -669,6 +737,9 @@ Presentation : https://github.com/in28minutes/java-best-practices/blob/master/pd |
669 | 737 | ## Campus Interview Guide |
670 | 738 | - https://docs.google.com/document/d/1IP6HNgpMdCAAJEREowfBj2XPLBrPcIIFNIGFPGX0-ao/edit#heading=h.byb5dl2v0c4p |
671 | 739 |
|
| 740 | +### Other Courses |
| 741 | +- More Courses and Videos From in28Minutes - https://github.com/in28minutes/learn |
| 742 | + |
672 | 743 | ## Compare and Contrast |
673 | 744 | - Spring MVC vs Struts |
674 | 745 | - Mockito vs EasyMock |
@@ -700,24 +771,26 @@ Presentation : https://github.com/in28minutes/java-best-practices/blob/master/pd |
700 | 771 | - We will be developing a demo application in the course, which could be reused in your projects, saving hours of your effort. |
701 | 772 | - We love open source and therefore, All our code is open source too and available on Github. |
702 | 773 |
|
703 | | -### Other Courses |
704 | | - |
705 | | -- [Most Watched Courses on YouTube - 30,000 Subscribers](https://www.youtube.com/watch?v=bNFoN956P2A&list=PLBBog2r6uMCQhZaQ9vUT5zJWXzz-f49k1) |
706 | | -- [25 Videos and Articles for Beginners on Spring Boot](http://www.springboottutorial.com/spring-boot-tutorials-for-beginners) |
707 | | -- Our Best Courses with 66,000 Students and 4,000 5-Star Ratings |
708 | | - * [Java Interview Guide : 200+ Interview Questions and Answers](https://www.udemy.com/java-interview-questions-and-answers/?couponCode=JAVA_INTER_GIT) |
709 | | - * [First Web Application with Spring Boot](https://www.udemy.com/spring-boot-first-web-application/?couponCode=SPRING-BOOT-1-GIT) |
710 | | - * [Spring Boot Tutorial For Beginners](https://www.udemy.com/spring-boot-tutorial-for-beginners/?couponCode=SPRING-BOOT-GIT) |
711 | | - * [Mockito Tutorial : Learn mocking with 25 Junit Examples](https://www.udemy.com/mockito-tutorial-with-junit-examples/?couponCode=MOCKITO_GIT) |
712 | | - * [Java EE Made Easy - Patterns, Architecture and Frameworks](https://www.udemy.com/java-ee-design-patterns-architecture-and-frameworks/?couponCode=EEPATTERNS-GIT) |
713 | | - * [Spring MVC For Beginners : Build Java Web App in 25 Steps](https://www.udemy.com/spring-mvc-tutorial-for-beginners-step-by-step/?couponCode=SPRINGMVC-GIT) |
714 | | - * [JSP Servlets For Beginners : Build Java Web App in 25 Steps](https://www.udemy.com/learn-java-servlets-and-jsp-web-application-in-25-steps/?couponCode=JSPSRVLT-GIT) |
715 | | - * [Maven Tutorial - Manage Java Dependencies in 25 Steps](https://www.udemy.com/learn-maven-java-dependency-management-in-20-steps/?couponCode=MAVEN_GIT) |
716 | | - * [Java OOPS in 1 Hours](https://www.udemy.com/learn-object-oriented-programming-in-java/?couponCode=OOPS-GIT) |
717 | | - * [C Puzzle for Interview](https://www.udemy.com/c-puzzles-for-beginners/?couponCode=CPUZZLES-GIT) |
718 | 774 |
|
719 | 775 | ### Useful Links |
720 | 776 | - [Our Website](http://www.in28minutes.com) |
721 | 777 | - [Facebook](http://facebook.com/in28minutes) |
722 | 778 | - [Twitter](http://twitter.com/in28minutes) |
723 | 779 | - [Google Plus](https://plus.google.com/u/3/110861829188024231119) |
| 780 | + |
| 781 | +### Some of our Best Selling Courses |
| 782 | +[](https://www.udemy.com/java-programming-tutorial-for-beginners/?couponCode=LEARN-2019) |
| 784 | + |
| 785 | +[](https://www.udemy.com/learn-python-programming-for-java-programmers?couponCode=LEARN-2019) |
| 786 | + |
| 787 | +[](https://www.udemy.com/software-architect-course-first-steps/?couponCode=LEARN-2019) |
| 788 | + |
| 789 | +[](https://www.udemy.com/microservices-with-spring-boot-and-spring-cloud/?couponCode=LEARN-2019) |
| 790 | + |
| 791 | +[](https://www.udemy.com/spring-tutorial-for-beginners/?couponCode=LEARN-2019) |
| 792 | + |
| 793 | +[](https://www.udemy.com/spring-web-services-tutorial/?couponCode=LEARN-2019) |
| 794 | + |
| 795 | +### More Courses and Videos From in28Minutes |
| 796 | +- https://github.com/in28minutes/learn |
0 commit comments