https://transfer.sh
Na jednu stranu je super, že už to někdo napsal a stačí použít hotové řešení. Na druhou stranu, když si to budu chtít rozjet u sebe, tak si stáhnu zdrojáky a vidím tam:
$ cloc-sql.sh transfer.sh/
╭────────────────────┬─────────┬───────────┬───────────┬────────┬────────┬──────────────────────────────────────────────────────────────────────────────────╮
│ jazyk │ souborů │ prázdných │ komentářů │ kódu │ celkem │ celkem_graf │
├────────────────────┼─────────┼───────────┼───────────┼────────┼────────┼──────────────────────────────────────────────────────────────────────────────────┤
│ Go │ 1254 │ 38474 │ 33520 │ 328072 │ 400066 │ ████████████████████████████████████████████████████████████████████████████████ │
│ Assembly │ 46 │ 855 │ 648 │ 7729 │ 9232 │ ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
│ HTML │ 56 │ 1158 │ 37 │ 4154 │ 5349 │ █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
│ XML │ 3 │ 228 │ 13 │ 4793 │ 5034 │ █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
│ Bourne Shell │ 11 │ 128 │ 548 │ 868 │ 1544 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
│ Perl │ 10 │ 178 │ 180 │ 1170 │ 1528 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
│ CSS │ 6 │ 31 │ 20 │ 1054 │ 1105 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
│ Javascript │ 7 │ 52 │ 112 │ 579 │ 743 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
│ YAML │ 19 │ 45 │ 6 │ 272 │ 323 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
│ C │ 3 │ 51 │ 22 │ 189 │ 262 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
│ make │ 5 │ 17 │ 2 │ 46 │ 65 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
│ Bourne Again Shell │ 1 │ 3 │ 0 │ 11 │ 14 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
│ C/C++ Header │ 1 │ 2 │ 5 │ 1 │ 8 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
│ celkem │ 1422 │ 41222 │ 35113 │ 348938 │ 425273 │ │
╰────────────────────┴─────────┴───────────┴───────────┴────────┴────────┴──────────────────────────────────────────────────────────────────────────────────╯
Record count: 14
Přes 400 000 řádků kódu? To jako vážně, to si mám pustit u sebe? To mi přijde jako pořádné WTF? Na takovouhle aplikaci? Vždyť je to víc než třeba jádro bankovního systému nebo internetové bankovnictví.
Je fakt, že adresář
server má jen cca 2 000 řádků, což už je celkem smysluplné číslo. Ale ono to závisí na tom zbytku a zjevně to nejde samostatně přeložit bez těch 400 000 řádků kódů a možná ještě nějakých dalších závislostí.
Archivovat si zdrojáky použitých knihoven je dozajista správné, ale rozhodně nepatří do stejného gitu jako kód aplikace a taky by měly být spravované přes nějaký systém, měly by se používat společné případně dodané uživatelem.