Do you remember you saw in the code method with name “getCatalogVerion()” or variable name “reimbusmentEntrys” or comment “necesarry”?
If you’re an Eclipse user I’d say you’re lucky, IntelliJ guys are not.
Why? Because they see those silly mistakes after Eclipse guys checked code in. If you’re an IntelliJent person and do not want to make a “holly war” come to my talk – I’m going to share a good practices to keep your code “clean” from grammar perspective as well.
2. ● happy father
● SA in EPAM Systems
● Java is a primary language
● hands-on-coding with Groovy, Ruby
● exploring FP with Erlang/Elixir
● passionate about agile, clean code and devops
Для начала давайте начнем с небольшого опроса.
Кто знает как выйти из Vi(m)? поднимите руку. Ок, значит кто-то умеет пользоваться, что есть круто)
Что по поводу Eclipse пользователей? ок, молодцы, счастливчики;)
OK, Sublilme? Atom? ок.
и наконец самые насчатсные, позже скажу почему, IntelliJ и другие редакторы производства JetBrains? ок, всем спасибо.
Итак, продолжим.
Все прекрасно знают, что профессиональный язык у программистов английский. И код в больгинстве случаев мы пишем на анлийском. Конечно современные языки программирования позволяют использовать различные символы для написания классов и методов. Как-то раз я даже видел названия функций написаные кириллицей, повторного желания уидить больше не возникало.
Еще один момент - мы не native speaker-ы и с правописанием у нас так себе, да что про нас, даже те самы native speaker-ы грешат правописанием.
В общем с проблемой мы как-то определяемся, профессиональный код должен быть не только протестированным, но и корректно написан с точки зрения правописания.
Так вот, счастливые люди, не замечающие ошибки правописания пользователи различных редакторов, что сложно сказать про пользователей IntelliJ, именно им мозолят глаза все эти receiver-ы, listener-ы и тд.
Многие из вас пользуются различными инструментами для статического анализа кода, PMD, FindBugs и тд. Да? попимо этого, многие пользуются SonarQube, да?
Для тех кто не в курсе это инструмент кот, позволяет анализировать код на соответствие обзепринятым правилам и еще делать это на протяжении жизни вашего проекта. Вы можете наблюдать за ростом вашего технического долга и тд.
И однажды, насмотревшись на receiver-ы, возникла мысль, почему бы не делать анализ исходного кода на правописание с помощью SonarQube? Ведь это то же ошибки.
Так мы начали делать плагин для SonarQube.
Теперь, каждый человек, который что-то комитит в репозиторий, попадает под анализ правописания и в случае проблем, создаются соотв issues в SonarQube.
Давайте посмотрим как это все работает.
Показать пример кода с ошибками.
Открыть консоль SonarQube, показать что проектов нет.
Показать странице настроек с возможностями, пока запускается анализ кода.
Показать созданный проект и issues, кот относятся к правописанию.
Показать возможность добавления словаря из issues табы.
Всем спасибо.
Ok.
Let me say several words about myself.
My name is Izzet, I’m working in EPAM relatively long time, the most part of my projects were related to Java language and closed technologies.
Other than Java I have interests in Groovy, Ruby, trying to get in touch with Erlang/Elixir.
As for non-tech I’m advocating agile approaches in software development and cultivating clean code and devops practices.
That’s probably it about myself, let’s proceed with our agenda for today.
Explain what problems we have today with our code from spelling point of view.
There is a problem that is related not just to us, actually native speakers also not everytime know how to spell words.
So if you look through the code you can find a lot of spelling issues if you have a tool for this.
Well JetBrains customers are
Explain a common solution that fit most of the teams and won’t force people to switch to another IDEs, dedicated tools
We’re using SonarQube to track code quality and technical depth.
Why not to create a plugin to spell our code and report an issues into SonarQube?
Demo a solution,
just brief introduction what it is, how to install and how to use it.
Describe takeaways as a links to where to go and how to contribute