475:
626:
341:
168:
1186:
1210:
66:
224:
25:
1176:
389:
adopted by a software development project can help to ensure that the code is compliant with good programming practices which improve the quality, readability, and re-usability of the code and may reduce the cost of development. The checks performed by
Checkstyle are mainly limited to the
398:
Checkstyle defines a set of available modules, each of which provides rules checking with a configurable level of strictness (mandatory, optional...). Each rule can raise notifications, warnings, and errors. For example, Checkstyle can examine the following:
390:
presentation of the code. These checks do not confirm the correctness or completeness of the code. Checkstyle rules are not programming style, they are merely rules for formatting the code.
1275:
662:
1251:
1285:
1270:
488:
1045:
974:
1290:
868:
771:
480:
1295:
655:
460:
848:
715:
700:
508:
320:
203:
149:
52:
87:
80:
1280:
1244:
1179:
1004:
931:
921:
766:
695:
1055:
374:
Originally developed by Oliver Burn back in 2001, the project is maintained by a team of developers from around the world.
1189:
984:
926:
648:
130:
994:
853:
720:
261:
102:
916:
911:
725:
361:
284:
235:
38:
1237:
1111:
959:
954:
906:
883:
863:
109:
76:
1116:
1106:
1019:
818:
801:
710:
969:
813:
116:
1024:
781:
776:
843:
796:
425:
98:
566:
1217:
1141:
979:
838:
828:
740:
685:
671:
357:
353:
308:
1161:
1146:
1014:
878:
786:
730:
303:
1151:
791:
1065:
823:
448:
386:
368:
1221:
1136:
1080:
858:
750:
745:
435:
315:
291:
1156:
1009:
989:
873:
735:
512:
505:
377:
The current stable release is version 10.17.0 which supports Java versions from 11 to 17.
44:
625:
515:- extension for EclipseCS with number of check that are not part of checkstyle upstream.
340:
181:
Please help update this article to reflect recent events or newly available information.
123:
1060:
964:
705:
296:
1264:
1040:
808:
1075:
1070:
999:
590:
524:
364:
65:
1209:
1085:
1050:
518:
470:
456:
223:
499:
631:
267:
833:
640:
452:
403:
690:
635:
619:
493:
331:
890:
1101:
644:
161:
59:
18:
545:
502:- Checkstyle plugin for IntelliJ IDEA and Android Studio
1225:
1129:
1094:
1033:
947:
940:
899:
759:
678:
326:
314:
302:
290:
280:
260:
234:
1245:
656:
409:Naming conventions of attributes and methods;
406:comments for classes, attributes and methods;
8:
216:
53:Learn how and when to remove these messages
1252:
1238:
944:
663:
649:
641:
624:
339:
222:
215:
204:Learn how and when to remove this message
150:Learn how and when to remove this message
854:Software development process/methodology
459:task. It can also be integrated into an
421:The use of imports, and scope modifiers;
537:
489:List of tools for static code analysis
86:Please improve this article by adding
1276:Java (programming language) libraries
7:
1206:
1204:
1175:
869:Software verification and validation
772:Component-based software engineering
481:Free and open-source software portal
431:The practices of class construction;
591:"checkstyle – Checkstyle Home Page"
1224:. You can help Knowledge (XXG) by
418:The presence of mandatory headers;
412:The number of function parameters;
14:
849:Software configuration management
716:Search-based software engineering
701:Experimental software engineering
321:GNU Lesser General Public License
34:This article has multiple issues.
1208:
1185:
1184:
1174:
496:- Eclipse plugin for checkstyle.
473:
166:
64:
23:
1286:Software using the LGPL license
42:or discuss these issues on the
696:Empirical software engineering
521:- Additional Checkstyle checks
241:10.17.0 / May 26, 2024
1:
1271:Static program analysis tools
527:- a PHP version of Checkstyle
447:Checkstyle is available as a
394:Examples of available modules
88:secondary or tertiary sources
721:Site reliability engineering
567:"checkstyle – Release Notes"
367:is compliant with specified
1291:Free software testing tools
726:Social software engineering
1312:
1296:Software engineering stubs
1203:
864:Software quality assurance
1170:
595:checkstyle.sourceforge.io
571:checkstyle.sourceforge.io
256:
230:
221:
175:This article needs to be
1020:Model-driven engineering
819:Functional specification
802:Software incompatibility
711:Requirements engineering
424:The spaces between some
814:Enterprise architecture
451:which can run inside a
436:complexity measurements
16:Java code analysis tool
1281:Java development tools
1220:-related article is a
1025:Round-trip engineering
782:Backward compatibility
777:Software compatibility
546:"Checkstyle Home Page"
243:; 3 months ago
75:relies excessively on
844:Software architecture
797:Forward compatibility
381:Advantages and limits
1218:software-engineering
1142:Computer engineering
839:Software archaeology
829:Programming paradigm
741:Software maintenance
686:Computer programming
672:Software engineering
358:software development
354:static code analysis
309:Static code analysis
1162:Systems engineering
1147:Information science
927:Service orientation
879:Structured analysis
787:Compatibility layer
731:Software deployment
218:
1152:Project management
917:Object orientation
884:Essential analysis
792:Compatibility mode
525:Checkstyle for PHP
511:2013-03-22 at the
1233:
1232:
1198:
1197:
1125:
1124:
1066:Information model
970:Incremental model
824:Modeling language
519:Checkstyle Addons
506:SevNTU-Checkstyle
387:programming style
347:
346:
214:
213:
206:
196:
195:
160:
159:
152:
134:
57:
1303:
1254:
1247:
1240:
1212:
1205:
1188:
1187:
1178:
1177:
1137:Computer science
945:
859:Software quality
751:Systems analysis
746:Software testing
665:
658:
651:
642:
628:
623:
622:
620:Official website
605:
604:
602:
601:
587:
581:
580:
578:
577:
563:
557:
556:
554:
553:
542:
483:
478:
477:
476:
463:or other tools.
360:for checking if
343:
338:
335:
333:
292:Operating system
276:
273:
271:
269:
251:
249:
244:
226:
219:
209:
202:
191:
188:
182:
170:
169:
162:
155:
148:
144:
141:
135:
133:
92:
68:
60:
49:
27:
26:
19:
1311:
1310:
1306:
1305:
1304:
1302:
1301:
1300:
1261:
1260:
1259:
1258:
1201:
1199:
1194:
1166:
1157:Risk management
1121:
1090:
1029:
1010:Waterfall model
980:Prototype model
975:Iterative model
936:
912:Aspect-oriented
895:
874:Software system
755:
736:Software design
674:
669:
618:
617:
614:
609:
608:
599:
597:
589:
588:
584:
575:
573:
565:
564:
560:
551:
549:
544:
543:
539:
534:
513:Wayback Machine
500:Checkstyle-IDEA
479:
474:
472:
469:
445:
396:
383:
330:
266:
252:
247:
245:
242:
210:
199:
198:
197:
192:
186:
183:
180:
171:
167:
156:
145:
139:
136:
93:
91:
85:
81:primary sources
69:
28:
24:
17:
12:
11:
5:
1309:
1307:
1299:
1298:
1293:
1288:
1283:
1278:
1273:
1263:
1262:
1257:
1256:
1249:
1242:
1234:
1231:
1230:
1213:
1196:
1195:
1193:
1192:
1182:
1171:
1168:
1167:
1165:
1164:
1159:
1154:
1149:
1144:
1139:
1133:
1131:
1130:Related fields
1127:
1126:
1123:
1122:
1120:
1119:
1114:
1109:
1104:
1098:
1096:
1092:
1091:
1089:
1088:
1083:
1078:
1073:
1068:
1063:
1061:Function model
1058:
1053:
1048:
1043:
1037:
1035:
1031:
1030:
1028:
1027:
1022:
1017:
1012:
1007:
1002:
997:
992:
987:
982:
977:
972:
967:
965:Executable UML
962:
957:
951:
949:
942:
938:
937:
935:
934:
929:
924:
919:
914:
909:
903:
901:
897:
896:
894:
893:
888:
887:
886:
876:
871:
866:
861:
856:
851:
846:
841:
836:
831:
826:
821:
816:
811:
806:
805:
804:
799:
794:
789:
784:
774:
769:
763:
761:
757:
756:
754:
753:
748:
743:
738:
733:
728:
723:
718:
713:
708:
706:Formal methods
703:
698:
693:
688:
682:
680:
676:
675:
670:
668:
667:
660:
653:
645:
639:
638:
629:
613:
612:External links
610:
607:
606:
582:
558:
536:
535:
533:
530:
529:
528:
522:
516:
503:
497:
491:
485:
484:
468:
465:
444:
441:
440:
439:
432:
429:
422:
419:
416:
413:
410:
407:
395:
392:
382:
379:
345:
344:
328:
324:
323:
318:
312:
311:
306:
300:
299:
297:Cross-platform
294:
288:
287:
282:
278:
277:
264:
258:
257:
254:
253:
240:
238:
236:Stable release
232:
231:
228:
227:
212:
211:
194:
193:
174:
172:
165:
158:
157:
72:
70:
63:
58:
32:
31:
29:
22:
15:
13:
10:
9:
6:
4:
3:
2:
1308:
1297:
1294:
1292:
1289:
1287:
1284:
1282:
1279:
1277:
1274:
1272:
1269:
1268:
1266:
1255:
1250:
1248:
1243:
1241:
1236:
1235:
1229:
1227:
1223:
1219:
1214:
1211:
1207:
1202:
1191:
1183:
1181:
1173:
1172:
1169:
1163:
1160:
1158:
1155:
1153:
1150:
1148:
1145:
1143:
1140:
1138:
1135:
1134:
1132:
1128:
1118:
1115:
1113:
1110:
1108:
1105:
1103:
1100:
1099:
1097:
1093:
1087:
1084:
1082:
1081:Systems model
1079:
1077:
1074:
1072:
1069:
1067:
1064:
1062:
1059:
1057:
1054:
1052:
1049:
1047:
1044:
1042:
1039:
1038:
1036:
1032:
1026:
1023:
1021:
1018:
1016:
1013:
1011:
1008:
1006:
1003:
1001:
998:
996:
993:
991:
988:
986:
983:
981:
978:
976:
973:
971:
968:
966:
963:
961:
958:
956:
953:
952:
950:
948:Developmental
946:
943:
939:
933:
930:
928:
925:
923:
920:
918:
915:
913:
910:
908:
905:
904:
902:
898:
892:
889:
885:
882:
881:
880:
877:
875:
872:
870:
867:
865:
862:
860:
857:
855:
852:
850:
847:
845:
842:
840:
837:
835:
832:
830:
827:
825:
822:
820:
817:
815:
812:
810:
809:Data modeling
807:
803:
800:
798:
795:
793:
790:
788:
785:
783:
780:
779:
778:
775:
773:
770:
768:
765:
764:
762:
758:
752:
749:
747:
744:
742:
739:
737:
734:
732:
729:
727:
724:
722:
719:
717:
714:
712:
709:
707:
704:
702:
699:
697:
694:
692:
689:
687:
684:
683:
681:
677:
673:
666:
661:
659:
654:
652:
647:
646:
643:
637:
633:
630:
627:
621:
616:
615:
611:
596:
592:
586:
583:
572:
568:
562:
559:
547:
541:
538:
531:
526:
523:
520:
517:
514:
510:
507:
504:
501:
498:
495:
492:
490:
487:
486:
482:
471:
466:
464:
462:
458:
454:
450:
442:
437:
433:
430:
427:
423:
420:
417:
415:Line lengths;
414:
411:
408:
405:
402:
401:
400:
393:
391:
388:
380:
378:
375:
372:
370:
366:
363:
359:
356:tool used in
355:
351:
342:
337:
329:
325:
322:
319:
317:
313:
310:
307:
305:
301:
298:
295:
293:
289:
286:
283:
279:
275:
265:
263:
259:
255:
239:
237:
233:
229:
225:
220:
208:
205:
190:
178:
173:
164:
163:
154:
151:
143:
132:
129:
125:
122:
118:
115:
111:
108:
104:
101: –
100:
96:
95:Find sources:
89:
83:
82:
78:
73:This article
71:
67:
62:
61:
56:
54:
47:
46:
41:
40:
35:
30:
21:
20:
1226:expanding it
1215:
1200:
1076:Object model
1071:Metamodeling
1000:Spiral model
900:Orientations
598:. Retrieved
594:
585:
574:. Retrieved
570:
561:
550:. Retrieved
540:
446:
397:
384:
376:
373:
369:coding rules
349:
348:
334:.sourceforge
200:
184:
176:
146:
137:
127:
120:
113:
106:
99:"Checkstyle"
94:
74:
50:
43:
37:
36:Please help
33:
767:Abstraction
365:source code
274:/checkstyle
272:/checkstyle
187:August 2015
1265:Categories
1086:View model
1051:Data model
632:checkstyle
600:2024-05-27
576:2024-05-27
552:2010-11-02
532:References
457:Apache Ant
426:characters
350:Checkstyle
332:checkstyle
281:Written in
262:Repository
248:2024-05-26
217:Checkstyle
110:newspapers
77:references
39:improve it
1095:Languages
494:EclipseCS
455:or as an
434:Multiple
140:July 2010
45:talk page
1190:Category
1056:ER model
922:Ontology
834:Software
760:Concepts
509:Archived
467:See also
449:JAR file
1180:Commons
1005:V-model
453:Java VM
404:Javadoc
327:Website
316:License
246: (
177:updated
124:scholar
941:Models
691:DevOps
679:Fields
636:GitHub
548:. 2010
268:github
126:
119:
112:
105:
97:
1216:This
1117:SysML
1041:SPICE
1034:Other
995:Scrum
955:Agile
907:Agile
891:CI/CD
443:Usage
352:is a
131:JSTOR
117:books
1222:stub
1102:IDEF
1046:CMMI
932:SDLC
385:The
362:Java
336:.net
304:Type
285:Java
270:.com
103:news
1112:USL
1107:UML
985:RAD
960:EUP
634:on
461:IDE
79:to
1267::
1015:XP
990:UP
593:.
569:.
371:.
90:.
48:.
1253:e
1246:t
1239:v
1228:.
664:e
657:t
650:v
603:.
579:.
555:.
438:.
428:;
250:)
207:)
201:(
189:)
185:(
179:.
153:)
147:(
142:)
138:(
128:·
121:·
114:·
107:·
84:.
55:)
51:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.