I got tired of catching the same Java mistakes in code reviews. String concatenation in loops. Mutable state leaking through getters. What was missing was a consistent layer that actually understands context. So I built one. It's called the 𝗝𝗮𝘃𝗮 𝗕𝗲𝘀𝘁 𝗣𝗿𝗮𝗰𝘁𝗶𝗰𝗲 𝗖𝗵𝗲𝗰𝗸𝗲𝗿. It's an agentic skill that plugs into your editor, and from that point on your AI agent knows Java best practices from modern Java 21–24 features down to JVM internals, collections, thread safety, and design patterns. It works across 𝙑𝙎 𝘾𝙤𝙙𝙚, 𝘾𝙪𝙧𝙨𝙤𝙧, 𝙒𝙞𝙣𝙙𝙨𝙪𝙧𝙛, and any other agentic editor. The idea behind agentic skills is simple but underappreciated. Instead of relying on your AI to guess what good code looks like, you give it a precise, versioned definition of your standards. It sits at the center of your development environment and applies that knowledge consistently across every file, every session, every teammate. For teams this is meaningful. Your best engineer's instincts stop being a bottleneck and start being infrastructure. The skill is live at https://lnkd.in/e5gnAW-v feel free to try it. Would love to hear what you think. #Java #SoftwareEngineering #AI #DeveloperTools #OpenSource
Introducing Java Best Practice Checker
More Relevant Posts
-
💡 Spring AI isn't the only way to bring AI into a Java application. And depending on what you're building, it might not be the best one either. Andrew B compared two serious alternatives - LangChain4j and Semantic Kernel for Java - across the features that actually matter when you're making a framework decision: model support, RAG capabilities, ease of integration, and maturity. If you're a Java developer evaluating your options, this one saves you the research. 👉 Read the full comparison: https://lnkd.in/drsZRnKd __ At Grape Up, we begin every engagement by asking 'Why?' "Thinking out loud" series is our way of making those answers visible - our engineers and consultants writing about what they've actually learned, based on real projects and real trade-offs. #ThinkingOutLoud #GrapeUp #SpringAI #JavaApplication
To view or add a comment, sign in
-
-
🚀 Java Deep Dive Series — Classes & Generics AI can generate classes. But designing the right type of class and writing type-safe code is what makes systems scalable. Today, I revisited: 👉 Classes & Generics in Java Here’s a quick breakdown 👇 🔹 Class Basics → What is a class, object, and Object class (java.lang.Object) 🔹 Types of Classes → Concrete, Abstract, Final, Enum, POJO 🔹 Class Relationships → Superclass & Subclass, inheritance basics 🔹 Nested Classes → Inner, Local, Anonymous, Static nested 🔹 Generics → Type safety using <T>, avoid typecasting 🔹 Advanced Generics → Bounded types, wildcards (?), multiple type params ⚙️ Deep dive covered: Generic classes & methods, inheritance with generics, raw types, type erasure, wildcards vs generics, singleton patterns (multiple approaches), immutable classes, and enum capabilities (fields, methods, interfaces). 💡 My Key Takeaway: Classes define structure, but mastering different class types and generics is what makes your design flexible and production-ready. 📘 I’ve documented detailed notes (with examples) here: 🔗 [https://lnkd.in/d43y3MPy] I’ll keep adding more topics as I go. If you're revising Java fundamentals or preparing for interviews, this might help 🤝 #Java #Generics #OOPS #LearningJourney #SoftwareEngineering #BackendDevelopment #AI
To view or add a comment, sign in
-
Still using Java 14 or previous versions? You won't be able to implement AI via Spring. Spring AI needs at least Java 17. Most examples are already on 21. If you are on older Java versions, it is not that you cannot explore AI. It just gets harder to plug into things like Spring AI directly. Most systems run fine as they are. But newer capabilities that help you win market aren't there. If upgrading keeps getting delayed, this is one more reason it might be worth revisiting. And if it feels like too much effort to plan internally, Fastcurve helps speed that up. #Java #Spring #SpringAI #BackendDevelopment #SoftwareEngineering #TechUpgrade
To view or add a comment, sign in
-
-
"I'm a Java developer who is skeptical of AI hype. I built a full-stack test project using Claude Code as my primary tool. Here's what actually surprised me — including where it got things wrong. CLAUDE.md growing from 294 to 662 lines across 19 commits. A four-bug chain debugged in 64 minutes. Full write-up in the comments." #ClaudeCode #AI #Java #SoftwareDevelopment #DeveloperTools #LearningInPublic
To view or add a comment, sign in
-
In this hands-on workshop, you’ll learn how to build production-ready AI agents in Java using LangChain4J - starting from a simple pipeline and evolving it into an agentic system with decision-making, guardrails, evaluation, and observability. By the end, you won’t just have an agent - you’ll understand how to control, measure, and debug it. Susanne Pieterse https://lnkd.in/d-T9Z26n
To view or add a comment, sign in
-
As agentic AI shifts from prototypes to enterprise production, Java emerges as a powerful alternative to Python-centric stacks. Here is My DZone article on 'Developing Agentic AI applications Using Java, LangChain4j, Quarkus, MCP, and OpenTelemetry for scalable enterprise apps' with code references! Like share and subscribe! 😃 This article looks into building robust agentic applications using LangChain4j for orchestration, Quarks for high-performance deployment, Model Context Protocol (MCP) for standardized tool and data access, and OpenTelemetry for comprehensive observability.. #BhaskarKollu #AgenticAI #MCP #RAG #ModelContextProtocol #GenerativeAI #DZone https://lnkd.in/gQAQzxMW
To view or add a comment, sign in
-
Writing repetitive DTO classes in Java? There’s a smarter way One-Shot Prompting for Code Generation Instead of explaining everything, just give AI ONE example. Example: Generate Java DTO: Fields: id (Long), name (String) Output: public class UserDTO { private Long id; private String name; } Fields: orderId (Long), amount (Double) Output: ? AI generates: public class OrderDTO { private Long orderId; private Double amount; } Why developers should care: • Eliminates boilerplate code • Speeds up development • Works great with Spring Boot • Useful for DTOs, Entities, Models Pro Tip: If your code follows a consistent pattern, one-shot prompting can automate it easily. #AI #PromptEngineering #Java #SpringBoot #BackendDevelopment #Developers #Automation
To view or add a comment, sign in
-
🚀 Java Deep Dive Series — Interface AI can generate implementations. But defining the right contract between components is what makes systems scalable. Today, I revisited: 👉 Interfaces in Java Here’s a quick breakdown 👇 🔹 Interface Basics → Defines contract (what to do, not how) 🔹 Abstraction → Hide implementation, expose behavior 🔹 Polymorphism → Interface as a reference type 🔹 Multiple Inheritance → Achieved via interfaces (no diamond problem) 🔹 Default & Static Methods → Java 8 enhancements 🔹 Functional Interfaces → Single abstract method + lambda support ⚙️ Deep dive covered: Interface definition rules, fields (public static final), method rules, implementation in classes, nested interfaces, interface vs abstract class differences, default method conflicts & resolution, private methods (Java 9), functional interfaces, lambda expressions, and built-in functional interfaces (Consumer, Supplier, Function, Predicate). 💡 My Key Takeaway: Interfaces are not just for abstraction — they are the foundation of loosely coupled and extensible systems. 📘 I’ve documented detailed notes (with examples) here: 🔗 [https://lnkd.in/dEJb7gin] I’ll keep adding more topics as I go. If you're revising Java fundamentals or preparing for interviews, this might help 🤝 👉 Quick one: How does Java resolve the diamond problem with default methods? #Java #OOPS #Interfaces #FunctionalProgramming #BackendDevelopment #AI
To view or add a comment, sign in
-
Introduction: Beyond the Syntax For the past fifty years, the primary skill of a software engineer was the mastery of syntax. We learned the grammar of C, the object-oriented patterns of Java, and the functional nuances of Rust. We were the...
To view or add a comment, sign in
-
Still writing manual HTTP calls to hit LLM APIs in your Java backend? There's a better way — and it's called Spring AI. Here's the before & after that changed how I think about AI integration in Java: ❌ Before: HttpClient boilerplate, raw JSON strings, manual parsing, zero type safety ✅ After: A fluent ChatClient API, structured output mapped directly to POJOs, and provider-agnostic config With Spring AI 2.0 (built on Spring Boot 4.0 + Java 21), you get: → Clean, readable code with ChatClient → Type-safe structured outputs → Swap AI providers without touching business logic → RAG, Tool Calling, Advisors & MCP support out of the box #Java #SpringAI #SpringBoot #BackendDevelopment #AI #SoftwareEngineering #LLM
To view or add a comment, sign in
-
More from this author
Explore related topics
- How Developers can Use AI Agents
- How AI Agents Are Changing Software Development
- How to Use Agentic AI for Better Reasoning
- How to Use AI Agents to Optimize Code
- How to Boost Productivity With Developer Agents
- Best Practices for Using AI Tools
- AI Skills for Software Testing
- How to Use AI Instead of Traditional Coding Skills
- How to Use AI Code Suggestion Tools
- How to Use AI for Manual Coding Tasks
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development