Knowledge (XXG)

Checkstyle

Source 📝

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:(

Index

improve it
talk page
Learn how and when to remove these messages

references
primary sources
secondary or tertiary sources
"Checkstyle"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
Learn how and when to remove this message

Stable release
Repository
github.com/checkstyle/checkstyle
Java
Operating system
Cross-platform
Type
Static code analysis
License
GNU Lesser General Public License
checkstyle.sourceforge.net
Edit this at Wikidata
static code analysis
software development

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.