amazon-research / meta-learning-the-difference
Unit Size

The distribution of size of units (measured in lines of code).

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 361 units with 4,720 lines of code in units (72.8% of code).
    • 0 very long units (0 lines of code)
    • 10 long units (667 lines of code)
    • 53 medium size units (1,661 lines of code)
    • 86 small units (1,269 lines of code)
    • 212 very small units (1,123 lines of code)
0% | 14% | 35% | 26% | 23%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
py0% | 14% | 35% | 26% | 23%
perl0% | 0% | 0% | 77% | 22%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
low_rank_comparisons/src0% | 25% | 24% | 27% | 23%
dialogue_personalization/utils0% | 13% | 39% | 23% | 23%
abstractive_summarization/src0% | 15% | 43% | 19% | 21%
abstractive_summarization/src/others0% | 10% | 24% | 34% | 30%
dialogue_personalization/model0% | 0% | 43% | 32% | 24%
low_rank_comparisons/eval0% | 0% | 62% | 27% | 9%
dialogue_personalization0% | 0% | 41% | 25% | 32%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
def forward()
in low_rank_comparisons/src/model.py
96 33 5
def beam()
in low_rank_comparisons/src/gpt2_beam.py
85 14 3
def translate_batch()
in dialogue_personalization/utils/beam_omt.py
80 16 2
def beam_search_sample()
in dialogue_personalization/utils/beam_ptr.py
72 23 8
def build_optim()
in abstractive_summarization/src/others/optimizer.py
58 42 4
def train_validate()
in low_rank_comparisons/src/gpt2_ft.py
57 14 8
def parse_gpu()
in low_rank_comparisons/src/gpu.py
56 5 1
def forward()
in low_rank_comparisons/src/model.py
55 18 10
def train()
in abstractive_summarization/src/trainer.py
55 16 7
def multitask_train()
in abstractive_summarization/src/trainer.py
53 12 9
def train()
in abstractive_summarization/src/sdpt_pretraining.py
49 14 6
def __init__()
in dialogue_personalization/model/transformer.py
48 10 5
def collate_fn()
in dialogue_personalization/utils/data_reader.py
47 10 1
def train()
in abstractive_summarization/src/dapt_pretraining.py
47 16 1
def train()
in abstractive_summarization/src/tapt_pretraining.py
47 16 1
def forward()
in low_rank_comparisons/src/model.py
46 17 6
def convert_examples_to_features()
in dialogue_personalization/utils/load_bert.py
43 18 4
def get_balanced_loader()
in dialogue_personalization/utils/data_reader.py
42 15 6
def evaluate()
in dialogue_personalization/model/common_layer.py
39 16 8
def bpe()
in low_rank_comparisons/src/encoder.py
37 10 2