Google Summer Of Code 2021 Checkstyle Registration Info
Checkstyle
Tool to help programmers write Java code that adheres to a coding standard.
LGPL-2.1
Programming Languages and Development Tool
Java, antlr
static code analysis , code review tool, coding standards, coding conventions
https://github.com/checkstyle/checkstyle/wiki/Checkstyle-GSoC-2021-Project-Ideas
Checkstyle is a development tool to help programmers write Java code that is easy to read and adheres to a coding standard.
Checkstyle is a development tool to help programmers write Java code that is easy to read and adheres to a coding standard. Our utility automates the process of checking Java code to spare humans of this boring (but important) task. This makes it ideal for projects that want to enforce a coding standard. Each and every check also forces our users who are not familiar with these standards to read them and makes them think about why these standards exist.
- We make a preference to students that already know our code. It is never too late to start cooperation/contribution to Checkstyle .
- Choose one more project
- Describe your skills (CV format), by special paragraph list implemented issues in Checkstyle issue tracker that are fixed by you. List of open/pending/merged Pull Requests.
- Propose a solution for a project with a plan and draft time estimation
new feature, optimization, analysis
https://gitter.im/checkstyle/checkstyle
https://groups.google.com/forum/#!forum/checkstyle-devel
https://twitter.com/checkstyle_java
Our main goal is to involve students in development of Open Source and showing them that the best approach to gain deep knowledge of a programming language is by participating in development of static code analysis. We aim to instill the habit of writing easy-to-read code by sharing our knowledge of best practices in software development while extending Checkstyle with new modules that catch bad practices. Our team has had difficulty keeping constant interest within diligent students in our organization, as students always tend to find a paid job during their summer break instead of volunteering. But even without competitive financial encouragement, we manage to keep some students working with us on small features mainly, by offering real-life practical experience and knowledge. We would like to increase speed of features implementation. With Google's financial encouragement, we could let students spend the whole summer focusing on big and complicated features.
Project is done and released. Collaboration of mentors and student was smooth. Mentors provided enough coverage on students questions/problems. Student keep contributing to project after summer. Mentors did not burn out during summer and keep contributing to project after summer and willing to participate in next GSOC.
6-10
Current active developers of Checkstyle will be mentors for the new students. They are already agreed to work with students, share their knowledge, and help them understand good software practices. Administrators (the most active developers), will do mentoring of students too in the same fashion.
- We do not have a private e-mail as our primary mode of communication. Most communications will be done at an open platform in our mail-list.
- Students will report to mentors twice a week about their status/achievements. Students will have to do “push” to repository each day to avoid loss of sources. Their remote repositories will be published in the mail-list. If progress on project is not as quick as desirable, we will switch student to reporting each day or even twice a day to let mentors, from different time zones, do a code-review and give feedback promptly.
- Mentors will exchange cell phone numbers and additional email addresses with students to have more options to be in touch if the student needs it.
We have a number of wiki-like pages that are helpful for beginners to start development. All our developers/mentors have experience in working with students and new-comers for several years.
While practicing in our project, students will get experience in cooperating with mentors by discussing tasks that they are asked to resolve, think beyond the task description and initiate discussion if no clear aspect of implementation appears. We will focus their attention on automation of testing, writing documentation, and reporting results to mentors. This would give students the same experience as if they worked at a software company.
We are never satisfied if the module just works. We always discuss nuances of Java language and demand deep understanding from students of what they are writing about, and the quality of code is always a primary concern for us. We will do detailed code review each time students are ready to integrate and show them ways on how to improve code.
During the practice, we will explain why clean, easy-to-read code and the purpose of our project matters. We will show how they can be used in development process at any company to ensure stability and quality of work. During development of some validation rules or any other task in our project, they will start to feel differences between messy and easy-to-read code. The more they practice the more it becomes a part of their philosophy and their way of thinking. All their achievements do not have expiration date and could be used at any work place for any language at any time. Students never waste their time on short-lived tasks with us. Students do tasks for their personal interests and for their future professional needs.
Once they gain this knowledge of clean and coherent coding they will never tolerate messy coding of their colleagues. They will come back to Checkstyle to extend it with new messy code detecting modules.
This year 2 of 8 mentors are former GSoC students
YES
2020, 2017, 2014
3
1
For each year your organization has participated, provide the counts of successful and total students. (e.g. 2016: 3/4)
2020: 3/3 2017: 5/5 2014: 3/3
2019 2016 2015
If you are a new organization to GSoC, is there a Google employee or previously participating organization who will vouch for you?
--
2001
NO