17 private links
Corinna is metamodern.
my $caller_method_with_namespace = (caller(0))[3];
my ($method) = $caller_method_with_namespace =~ /([^::]*)$/;
See also
Ludwig is the first sentence search engine that helps you write better English by giving you contextualized examples taken from reliable sources.
Penpot is the first Open Source design and prototyping platform meant for cross-domain teams. Non dependent on operating systems, Penpot is web based and works with open web standards (SVG). For all and empowered by the community.
Use the init_arg
attribute configuration (see "Constructor parameters" in Moose::Manual::Attributes):
package SOD::KuuAnalyze::ProdId;
use Moose;
has 'users' => (
isa => 'ArrayRef[Str]', is => "ro",
init_arg => undef, # do not allow in constructor
);
1;
NOTE
: Description of how the code works (when it isn't self evident).XXX
: Warning about possible pitfalls, can be used asNOTE:XXX:
.HACK
: Not very well written or malformed code to circumvent a problem/bug. Should be used asHACK:FIXME:
.FIXME
: This works, sort of, but it could be done better. (usually code written in a hurry that needs rewriting).BUG
: There is a problem here.TODO
: No problem, but additional code needs to be written, usually when you are skipping something.
At least this is how I was taught about these tags. Basically the first two (NOTE
and XXX
) are used for information and no action is required. While the last three (FIXME
, BUG
and TODO
) do require action. HACK
is somewhere in between (and hardly ever used I think?).
Vitruvius is a framework and set of tools to help the code architect analyze a code base.