Project Organization and Maintenance
Maintenance Checklist
A maintenance checklist helps release work stay consistent.
maintenance-checklist
A small checklist turns release readiness into data the program can summarize.
Maintenance Checklist
maintenance_checklist.pl
Replay: real traced execution (multi-file project)
use strict;
use warnings;
my $docs_done = 1;
my @checks = ("tests", "version", "changelog");
push @checks, "docs" if $docs_done;
my $required = 4;
my $done = scalar @checks;
my $ready = $done == $required ? "yes" : "no";
my $summary = join(",", @checks);
print "docs_done=$docs_done\n";
print "done=$done\n";
print "required=$required\n";
print "ready=$ready\n";
print "summary=$summary\n";
use strict;
use warnings;
my $docs_done = 0;
my @checks = ("tests", "version", "changelog");
push @checks, "docs" if $docs_done;
my $required = 4;
my $done = scalar @checks;
my $ready = $done == $required ? "yes" : "no";
my $summary = join(",", @checks);
print "docs_done=$docs_done\n";
print "done=$done\n";
print "required=$required\n";
print "ready=$ready\n";
print "summary=$summary\n";
$docs_done ← 1, @checks ← 3, $required ← 4, $done ← 4, $ready ← yes
4my $docs_done→ 1 = 1; #@docs_done=05my @checks→ 3 = ("tests", "version", "changelog");6push @checks→ 4, "docs" if $docs_done1;78my $required→ 4 = 4;9my $done→ 4 = scalar @checks4;10my $ready→ yes = $done4 == $required4 ? "yes" : "no";11my $summary→ tests,version,changelog,docs = join(",", @checks4);1213print "docs_done=$docs_done1\n";14print "done=$done4\n";15print "required=$required4\n";16print "ready=$readyyes\n";17print "summary=$summarytests,version,changelog,docs\n";outputdocs_done=1 done=4 required=4 ready=yes summary=tests,version,changelog,docs
$docs_done ← 0, @checks ← 3, $required ← 4, $done ← 3, $ready ← no
4my $docs_done→ 0 = 0;5my @checks→ 3 = ("tests", "version", "changelog");6push @checks3, "docs" if $docs_done0;78my $required→ 4 = 4;9my $done→ 3 = scalar @checks3;10my $ready→ no = $done3 == $required4 ? "yes" : "no";11my $summary→ tests,version,changelog = join(",", @checks3);1213print "docs_done=$docs_done0\n";14print "done=$done3\n";15print "required=$required4\n";16print "ready=$readyno\n";17print "summary=$summarytests,version,changelog\n";outputdocs_done=0 done=3 required=4 ready=no summary=tests,version,changelog