ActivitySummary
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# CLAUDE.md – peakUp Project Guidelines
|
||||
|
||||
**Last updated:** 2026-05-03 | Single source of truth. Strict compliance required.
|
||||
**Last updated:** 2026-05-15 | Single source of truth. Strict compliance required.
|
||||
|
||||
## 1. Core Rules
|
||||
|
||||
@@ -37,7 +37,8 @@
|
||||
- Java 21 + Quarkus
|
||||
- Strict NullAway + mandatory `final` where possible
|
||||
- Lombok: `@Data`, `@NoArgsConstructor`, `@AllArgsConstructor`, `@Slf4j`
|
||||
- Checkstyle: 4 spaces, 120 char, K&R braces, no star imports
|
||||
- Checkstyle: 4 spaces, 240 char max line, K&R braces, no star imports
|
||||
- Methods: preferred < 60 lines (blank lines excluded), max 7 parameters
|
||||
- **Type safety is mandatory**: use native types throughout — `Instant`/`LocalDate` for dates, `Long`/`Integer` for IDs and counts, enums for fixed value sets. Never pass dates, IDs, or enums as `String` across layer boundaries. REST DTOs are the only exception — parse to native types immediately at the boundary.
|
||||
- Use `AbstractEntity` and `AbstractTimestampedEntity`
|
||||
- TimescaleDB hypertables via `AbstractTimescaleEntity`
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
- Suppressions for mapper files (aligned @Mapping annotations) in suppressions.xml
|
||||
-->
|
||||
<module name="Checker">
|
||||
<property name="severity" value="warning"/>
|
||||
<property name="severity" value="error"/>
|
||||
<property name="fileExtensions" value="java"/>
|
||||
|
||||
<!-- No tab characters anywhere in the file -->
|
||||
@@ -29,9 +29,9 @@
|
||||
<property name="message" value="Trailing whitespace"/>
|
||||
</module>
|
||||
|
||||
<!-- 250-char line length; imports and URLs ignored -->
|
||||
<!-- 240-char line length; imports and URLs ignored -->
|
||||
<module name="LineLength">
|
||||
<property name="max" value="250"/>
|
||||
<property name="max" value="240"/>
|
||||
<property name="ignorePattern" value="^package.*|^import.*|https?://|ftp://"/>
|
||||
</module>
|
||||
|
||||
@@ -108,6 +108,17 @@
|
||||
<property name="validateEnhancedForLoopVariable" value="true"/>
|
||||
</module>
|
||||
|
||||
<!-- ===== METHOD SIZE ===== -->
|
||||
<!-- Methods should stay under 60 lines (blank lines and comments excluded) -->
|
||||
<module name="MethodLength">
|
||||
<property name="max" value="60"/>
|
||||
<property name="countEmpty" value="false"/>
|
||||
</module>
|
||||
<!-- Max 7 parameters per method or constructor -->
|
||||
<module name="ParameterNumber">
|
||||
<property name="max" value="7"/>
|
||||
</module>
|
||||
|
||||
<!-- ===== ERROR PREVENTION ===== -->
|
||||
<!-- Unused local variables -->
|
||||
<module name="UnusedLocalVariable"/>
|
||||
|
||||
@@ -51,7 +51,6 @@ public class DashboardService {
|
||||
.with(WeekFields.ISO.weekBasedYear(), year)
|
||||
.with(WeekFields.ISO.weekOfWeekBasedYear(), calendarWeek)
|
||||
.with(WeekFields.ISO.dayOfWeek(), DayOfWeek.MONDAY.getValue());
|
||||
|
||||
final LocalDate rangeFrom = selectedWeekMonday.minusWeeks(11);
|
||||
final LocalDate rangeTo = selectedWeekMonday.plusDays(6);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user