en:devmon:guidelines:tidy
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| en:devmon:guidelines:tidy [2021/08/12 08:03] – created Bruno Manzoni | en:devmon:guidelines:tidy [2021/08/22 14:35] (current) – [Tidy Document] adminw1k1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Tidy ====== | ====== Tidy ====== | ||
| - | To make it easier to keep code clean, you can follow this guide | + | To make documents clean, we did automate reformatting with tools freely available |
| + | |||
| + | ==== Tidy Code ==== | ||
| + | |||
| + | To keep the code clean, | ||
| + | |||
| + | === Tools=== | ||
| + | *Tidy perl code, ... (perltidy) | ||
| + | *Follow best practice (perlcritic) | ||
| + | *Automate it (tidyall) | ||
| + | |||
| + | === Installation === | ||
| + | Cpan minus (cpanm) install the latest package, but this can break be in conflict with OS package manager. | ||
| + | |||
| + | < | ||
| + | cpanm install Perl:: | ||
| + | cpanm install Perl:: | ||
| + | cpanm install Code:: | ||
| + | </ | ||
| + | |||
| + | ==== Usage ==== | ||
| + | |||
| + | " | ||
| + | In the project folder, you will find a file called: **" | ||
| + | \\ | ||
| + | \\ | ||
| + | To simulate the result: | ||
| + | < | ||
| + | tidyall -a --check-only | ||
| + | </ | ||
| + | |||
| + | To make it work (perltidy will reformat files with an inplace reformatting, | ||
| + | |||
| + | < | ||
| + | tidyall -a | ||
| + | </ | ||
| + | |||
| + | And files are bakuped ind the **" | ||
| + | |||
| + | |||
| + | ==== Current Best Practice with Perltidy ==== | ||
| + | (Can change at any time: submit your proposal, critics) | ||
| + | \\ | ||
| + | Similar to arg -pbp (perl best practice), mainly: | ||
| + | |||
| + | * 4 chars | ||
| + | * no tabs | ||
| + | * Line lenght 0 (unlimited) | ||
| + | * Cuddle else ( else stay on the same line as the parenthesis) | ||
| + | |||
| + | |||
| + | |||
| + | ==== Best Practice for Critic ==== | ||
| + | (Wip, Not Implemented, | ||
| + | == Use modern default: == | ||
| + | * use strict; | ||
| + | * use warning; | ||
| + | * use utf8; | ||
| + | |||
| + | ==== Tidy Document ==== | ||
| + | |||
| + | To keep clean the other documents that are not code, follow this guide (but dont worry if you dont!) | ||
| + | |||
| + | |||
| + | === Tools=== | ||
| + | |||
| + | * Autoformat | ||
| + | |||
| + | === Current Best Practice with autoformat === | ||
| + | * 78 char per line | ||
| + | * (stating at pos 0) | ||
| + | |||
| + | === Installation === | ||
| + | Cpan minus (cpanm) install the latest package, but this can break be in conflict with OS package manager. | ||
| + | < | ||
| + | cpanm install Text:: | ||
| + | </ | ||
| + | |||
| + | Create the following script: (I named it: autoformat.pl) | ||
| + | < | ||
| + | # | ||
| + | # Minimal use: read from STDIN, format to STDOUT... | ||
| + | use strict; | ||
| + | use Text:: | ||
| + | my $str = do { local $/; < | ||
| + | my $out = autoformat $str, {left=> | ||
| + | print $out; | ||
| + | </ | ||
| + | |||
| + | And now you can format any text or markdown (this will not rendered in a Markdown reader, but Markdown files becomes more readable when they are read " | ||
| + | |||
| + | Make your script exectutable | ||
| + | < | ||
| + | chmod +x autoformat.pl | ||
| + | </ | ||
| + | |||
| + | And test it! | ||
| + | |||
| + | < | ||
| + | autoformat.pl < unformated.txt > formated.txt | ||
| + | autoformat.pl < unformated.md > formated.md | ||
| + | </ | ||
| - | Objective: | ||
| - | - Tidy perl code, ... | ||
| - | - Follow best practice | ||
| - | - Automate it | ||
| - | Installation procedure | ||
| - | Cpan minus install latest package, but this can break be in conflict with OS package manager. Make a backup if you can first | ||
| - | - cpanm perltidy | ||
| - | - cpanm pre | ||
en/devmon/guidelines/tidy.1628748222.txt.gz · Last modified: 2021/08/12 08:03 by Bruno Manzoni