-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
White-paper #438
White-paper #438
Conversation
### What's done: Created structure and some describe
Codecov Report
@@ Coverage Diff @@
## master #438 +/- ##
============================================
+ Coverage 81.68% 81.86% +0.17%
- Complexity 1641 1696 +55
============================================
Files 79 85 +6
Lines 4139 4257 +118
Branches 1307 1325 +18
============================================
+ Hits 3381 3485 +104
- Misses 229 237 +8
- Partials 529 535 +6
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report at Codecov.
|
wp/sections/definition.tex
Outdated
@@ -0,0 +1 @@ | |||
Before continue, it is necessary to define some terms so that the reader correctly understands the context of what was written. The first and basic concept that should be introduced is \textbf{"rule"}. In diKTat, a “rule” is a class where it is checked if the source code of a certain part of the code style. \textbf{Ruleset}, in turn, is a set of such "rules". Node - ...? ASTNode -? syntax tree - ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great, also add references
you can add a little bit math with "множества". You can describe множество (set of rules), set of inspections.
Fixed after review
we need references and literature |
we need pseudo-math :) |
wp/sections/compare.tex
Outdated
|
||
\subsection{About diKTat} | ||
\par Diktat as well as ktlint and detekt is a static code analysis tool. It's development started in 2020 and at the time of writing this whitepaper diKTat has 130 stars and 12 forks. DiKTat operates on AST provided by IntelliJ. | ||
\par So why is diKTat better? First of all, we support much more rules than ktlint. Our ruleset includes more than 100 rules. Second, diKTat is configurable. A lot of rules have it's own settings, which can be easily understood. For example, you can choose whether you need a copyright or choose a length of line. Third, diKTat is very easy to configure. You don't need to spend hours only to understand what each rule is doing. Our ruleset is a yml file, where each rule is commented out. Last but not the least, diKTat can be used as a CI/CD tool in order to avoid merging errors in the code. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How many rules does ktlint have? We should specify it too if we are using our figure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Number of rules are specified in the table. Should we mention their number in each subsection?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess I didn't see the table, where is it? I just thought that if we say that we have 100 rules which is more than ktlint has, we should say exactly how many does ktlint have.
wp/sections/definition.tex
Outdated
@@ -0,0 +1 @@ | |||
Before continue, it is necessary to define some terms so that the reader correctly understands the context of what was written. The first and basic concept that should be introduced is \textbf{"rule"}. In diKTat, a “rule” is a class where it is checked if the source code of a certain part of the code style. \textbf{Ruleset}, in turn, is a set of such "rules". \textbf{Abstract syntax tree(AST)} is a tree representation of the abstract syntactic structure of source code written in a programming language. Each node of the tree denotes a construct occurring in the source code. Node \footnote{\url{ https://www.ibm.com/support/knowledgecenter/SSZHNR_2.0.0/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/dom/ASTNode.html}} - is a a node of AST. \textbf{CICD} - continuous integration (CI) and continuous delivery (CD) is a methodology that allows application development teams to make changes to code more frequently and reliably. \textbf{KDoc} - is the language used to document Kotlin code (the equivalent of Java's JavaDoc). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, in diktat we have not only Rule
s, but also Warnings
which we often tend to call 'rules' or 'inspections' so that definitely needs some clarification.
### What's done: * Fixed bugs
### What's done: Fixed bugs after review
### What's done: * Added text to diKTat section
### What's done: Added references and conclusion
### What's done: Added math
### What's done: Fixed after review
### What's done: Final changes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
What's done:
Created structure and some describe