Repository Analysis

OI-wiki/OI-wiki

:star2: Wiki of OI / ICPC for everyone. (某大型游戏线上攻略,内含炫酷算术魔法)

0.9 Likely human-written View on GitHub
0.9
Adjusted Score
0.9
Raw Score
100%
Time Factor
2026-05-29
Last Push
26,064
Stars
TypeScript
Language
166,682
Lines of Code
1015
Files
130
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 2MEDIUM 2LOW 126

Pattern Findings

130 matches across 9 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers70 hits · 82 pts
SeverityFileLineSnippet
LOWtest/test_linter_patch.py34 def test_preprocess_applies_indentation_fixes(self):
LOWtest/test_linter_patch.py44 def test_postprocess_applies_fullstop_fixes(self):
LOWtest/test_linter_patch.py54 def test_file_unchanged_when_no_fixes_needed(self):
LOWtest/test_linter_patch.py63 def test_file_not_found_raises_error(self):
LOWtest/test_linter_patch.py77 def test_skip_blocks_preserved(self):
LOWtest/linter/test_utils.py14 def test_finds_first_different_element(self):
LOWtest/linter/test_utils.py27 def test_raises_stop_iteration_when_not_found(self):
LOWtest/linter/test_utils.py44 def test_logs_when_runner_debug_set(self, mock_print):
LOWtest/linter/test_utils.py51 def test_silent_when_runner_debug_not_set(self, mock_print):
LOWtest/linter/test_utils.py58 def test_non_debug_types_print_without_runner_debug(self, mock_print):
LOWtest/linter/test_utils.py94 def test_grouping_with_runner_debug(self, mock_print):
LOWtest/linter/test_utils.py104 def test_grouping_without_runner_debug_disabled(self, mock_print):
LOWtest/linter/test_utils.py113 def test_grouping_force_enabled(self, mock_print):
LOWtest/linter/test_utils.py122 def test_grouping_does_not_suppress_exceptions(self):
LOWtest/linter/test_decorators.py22 def test_content_gets_trailing_newline(self):
LOWtest/linter/test_decorators.py31 def test_tabs_replaced_with_spaces(self):
LOWtest/linter/test_decorators.py83 def test_tabs_in_skip_blocks_preserved(self):
LOWtest/linter/test_decorators.py102 def test_unclosed_skip_block_raises_error(self):
LOWtest/linter/test_decorators.py110 def test_unopened_skip_block_raises_error(self):
LOWtest/linter/test_decorators.py118 def test_content_modification_preserved(self):
LOWtest/linter/test_decorators.py127 def test_skip_block_content_not_modified(self):
LOWtest/linter/test_postprocess.py277 def test_curly_apostrophe_between_ascii_unchanged(self):
LOWtest/linter/test_postprocess.py283 def test_left_single_as_apostrophe_between_ascii(self):
LOWtest/linter/test_postprocess.py289 def test_left_single_with_space_not_apostrophe(self):
LOWtest/linter/test_postprocess.py295 def test_left_single_at_line_end_converted_to_right(self):
LOWtest/linter/test_postprocess.py301 def test_apostrophe_when_only_spaces_to_right_triggers_except(self):
LOWtest/linter/test_postprocess.py307 def test_apostrophe_after_digit(self):
LOWtest/linter/test_postprocess.py435 def test_single_quotes_after_non_alpha_ascii_not_apostrophe(self):
LOWtest/linter/test_postprocess.py441 def test_single_quotes_after_non_alpha_ascii_is_apostrophe(self):
LOWtest/linter/test_postprocess.py447 def test_deeply_nested_mixed_quotes(self):
LOWtest/linter/test_postprocess.py453 def test_crossed_nested_mixed_quotes(self):
LOWtest/linter/test_postprocess.py458 def test_extra_left_double_treated_as_right(self):
LOWtest/linter/test_postprocess.py464 def test_extra_left_single_treated_as_right(self):
LOWtest/linter/test_postprocess.py470 def test_extra_right_double_treated_as_left(self):
LOWtest/linter/test_postprocess.py476 def test_extra_right_single_treated_as_left(self):
LOWtest/linter/test_postprocess.py8 def test_replaces_chinese_fullstop(self):
LOWtest/linter/test_postprocess.py38 def test_skip_block_content_not_modified(self):
LOWtest/linter/test_postprocess.py89 def test_mixed_content_with_skip_blocks(self):
LOWtest/linter/test_postprocess.py121 def test_replaces_left_double_quote(self):
LOWtest/linter/test_postprocess.py127 def test_replaces_right_double_quote(self):
LOWtest/linter/test_postprocess.py139 def test_mixed_quotes_in_sentence(self):
LOWtest/linter/test_postprocess.py163 def test_quotes_in_code_block(self):
LOWtest/linter/test_postprocess.py176 def test_skip_block_content_not_modified(self):
LOWtest/linter/test_postprocess.py227 def test_mixed_content_with_skip_blocks(self):
LOWtest/linter/test_postprocess.py255 def test_single_right_double_on_line_treated_as_left(self):
LOWtest/linter/test_postprocess.py260 def test_single_right_single_on_line_treated_as_left(self):
LOWtest/linter/test_postprocess.py319 def test_apostrophe_after_non_ascii_letter(self):
LOWtest/linter/test_postprocess.py325 def test_cjk_prev_char_not_apostrophe(self):
LOWtest/linter/test_postprocess.py355 def test_leading_curly_apostrophe(self):
LOWtest/linter/test_skipblocks.py11 def test_multiple_skip_block_types_in_sequence(self):
LOWtest/linter/test_skipblocks.py55 def test_interleaved_skip_blocks(self):
LOWtest/linter/test_skipblocks.py99 def test_nested_different_skip_block_types(self):
LOWtest/linter/test_skipblocks.py143 def test_all_three_skip_block_types(self):
LOWtest/linter/test_skipblocks.py218 def test_single_quotes_with_skip_blocks(self):
LOWtest/linter/test_skipblocks.py238 def test_mixed_quotes_with_skip_blocks(self):
LOWtest/linter/test_skipblocks.py258 def test_adjacent_different_skip_blocks(self):
LOWtest/linter/test_skipblocks.py293 def test_complex_real_world_markdown(self):
LOWtest/linter/test_skipblocks.py396 def test_empty_skip_blocks_different_types(self):
LOWtest/linter/test_skipblocks.py426 def test_same_content_multiple_skip_types(self):
LOWtest/linter/test_skipblocks.py470 def test_deeply_nested_multiple_types_skip_blocks(self):
10 more matches not shown…
Over-Commented Block35 hits · 35 pts
SeverityFileLineSnippet
LOWREADME.md41pip install uv
LOWdocs/misc/code/fsm/fsm_1.cpp1#include "dfa.hpp"
LOWdocs/tools/editor/xcode.md121
LOWdocs/tools/editor/xcode.md141
LOWdocs/tools/editor/xcode.md161 #include <cwchar>
LOWdocs/tools/editor/xcode.md181 #include <complex>
LOWdocs/tools/editor/xcode.md201 #include <set>
LOWdocs/tools/editor/xcode.md221 #include <mutex>
LOWdocs/tools/editor/xcode.md241 #include <charconv>
LOWdocs/ds/sbt.md241 node = nullptr;
LOWdocs/ds/sbt.md261 node = node->right;
LOWdocs/ds/sbt.md281 // Step 2. swap S and N
LOWdocs/ds/code/avl-tree/AvlTreeMap.hpp641 // Left-Right Case
LOWdocs/ds/code/avl-tree/AvlTreeMap.hpp661 // A
LOWdocs/ds/code/avl-tree/AvlTreeMap.hpp801 if (node->isLeaf()) {
LOWdocs/ds/code/avl-tree/AvlTreeMap.hpp841 // clang-format off
LOWdocs/ds/code/rbtree/rbtree.hpp301 // --8<-- [end:insert-fixup1]
LOWdocs/ds/code/rbtree/rbtree.hpp321 // --8<-- [start:insert-case2]
LOWdocs/ds/code/rbtree/rbtree.hpp381 // |n| [s] ==> [p] d
LOWdocs/ds/code/rbtree/rbtree.hpp401 // p will be colored black in the end
LOWdocs/ds/code/rbtree/rbtree.hpp421 }
LOWdocs/ds/code/rbtree/rbtree.hpp441 // Post process: see case 2 & case 4
LOWdocs/ds/code/size-balanced-tree/SizeBalancedTreeMap.hpp681
LOWdocs/ds/code/size-balanced-tree/SizeBalancedTreeMap.hpp841 // / L
LOWdocs/ds/code/size-balanced-tree/SizeBalancedTreeMap.hpp861 // L R L
LOWdocs/graph/code/dsu-on-tree/dsu-on-tree_1.cpp1#include <cstdio>
LOWdocs/graph/code/dsu-on-tree/dsu-on-tree_2.cpp1#include <cstdio>
LOWdocs/math/code/bit/bit_2.cpp41
LOWdocs/math/code/impartial-game/impartial-game-3.cpp21
LOWdocs/math/code/simplex/simplex_2.cpp1// Verified by https://uoj.ac/submission/779760
LOWdocs/math/code/simplex/simplex_0.cpp1// --8<-- [start:full-text]
LOWdocs/math/code/mod-arithmetic/i32-mul.cpp1#include <cstdint>
LOWdocs/math/code/mod-arithmetic/i64-mul.cpp1#include <cfloat>
LOWdocs/contest/interaction.md301 ```cpp
LOWdocs/contest/code/io/io_2.cpp1#include <cctype>
Deep Nesting10 hits · 10 pts
SeverityFileLineSnippet
LOWdocs/math/code/continued-fraction/sum-floor-axbc.py24
LOWdocs/math/code/continued-fraction/gcj-2019.py67
LOWdocs/math/code/continued-fraction/closest-dio.py25
LOWdocs/geometry/images/andrew.py53
LOWdocs/geometry/images/andrew.py254
LOWscripts/ub-check.py60
LOWscripts/get_files_to_test.py7
LOWscripts/linter/decorators.py128
LOWscripts/linter/decorators.py145
LOWscripts/utils/find_jk.py36
Redundant / Tautological Comments5 hits · 8 pts
SeverityFileLineSnippet
LOWdocs/math/code/continued-fraction/gcj-2019.py30# Check if a is smaller than b.
LOWdocs/math/code/continued-fraction/inner-point.py30# Check if a is smaller than b.
LOWdocs/math/code/continued-fraction/compare.py11# Check if a is smaller than b.
LOWdocs/math/code/mobius/mobius-func-1.py8 # Check if square-free
LOWscripts/linter/decorators.py149 # Read file content
Cross-Language Confusion1 hit · 5 pts
SeverityFileLineSnippet
HIGHscripts/ub-check.py120 sanitizers=[('-fsanitize=undefined,address', '.UBSAN-ASAN')],
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippet
HIGHscripts/linter/utils.py9 Find the index of the first element in an iterable that is not equal to the given value. Args: l: The
Unused Imports4 hits · 4 pts
SeverityFileLineSnippet
LOWdocs/math/images/linear-programming.py2
LOWdocs/math/number-theory/images/sqrt-decomposition.py2
LOWdocs/math/linear-algebra/images/basis.py2
LOWdocs/math/linear-algebra/images/basis.py4
Excessive Try-Catch Wrapping3 hits · 4 pts
SeverityFileLineSnippet
LOWscripts/linter_patch.py130 except Exception as e:
MEDIUMscripts/linter_patch.py131 print(f"Error processing {file}: {str(e)}")
LOWscripts/linter/decorators.py167 except Exception as e:
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMdocs/math/code/continued-fraction/flt-presum.cpp8// FLTs. Essentially 2x2 matrix.