Skip to content

Google Summer Of Code 2021 Checkstyle Registration Info

Roman Ivanov edited this page Feb 5, 2021 · 1 revision

Organization Profile

Name

Checkstyle

Website URL

https://checkstyle.org

Tagline

Tool to help programmers write Java code that adheres to a coding standard.

Logo

https://github.com/checkstyle/resources/blob/master/img/checkstyle-logos/checkstyle-logo-3520x668.png

Primary Open Source License

LGPL-2.1

Organization Category

Programming Languages and Development Tool

Technology Tags

Java, antlr

Topic Tags

static code analysis‎ , code review tool, coding standards, coding conventions

Ideas List

https://github.com/checkstyle/checkstyle/wiki/Checkstyle-GSoC-2021-Project-Ideas

Short Description

Checkstyle is a development tool to help programmers write Java code that is easy to read and adheres to a coding standard.

Long Description

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.

Application Instructions

  1. We make a preference to students that already know our code. It is never too late to start cooperation/contribution to Checkstyle .
  2. Choose one more project
  3. 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.
  4. Propose a solution for a project with a plan and draft time estimation

Proposal Tags

new feature, optimization, analysis

Chat

https://gitter.im/checkstyle/checkstyle

Mailing List

https://groups.google.com/forum/#!forum/checkstyle-devel

General Email

checkstyle@googlegroups.com

Twitter URL (optional)

https://twitter.com/checkstyle_java

Organization Application

Why does your org want to participate in Google Summer of Code?

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.

What would you consider to be successful summer?

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.

How many potential mentors have agreed to mentor this year?

6-10

How will you keep mentors engaged with their students?

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.

How will you help your students stay on schedule to complete their projects?

  1. 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.
  2. 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.
  3. 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.

How will you get your students involved in your community during GSoC?

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.

How will you keep students involved with your community after GSoC?

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

Has your org been accepted as a mentoring org in Google Summer of Code before?

YES

Which years did your org participate in GSoC?

2020, 2017, 2014

How many students did your org accept for last participation year.

3

How many of your org's 2020 students have been active in your community in the past 60 days?

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

If your org has applied for GSoC before but not been accepted, select the years:

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?

--

What year was your project started?

2001

Where does your code live ?

https://github.com/checkstyle

Is your organization part of any government?

NO

Clone this wiki locally