in reply to A question of style: Composite keys to multiple values
means add a parallel "%Field_B_Resolver"
Why a parallel hash? Why not just preload one hash with both values:
$resolver{ {lc("$External_A|$External_B") } = [ Internal_A, Internal_B + ];
And retrieve they together.
Or if the table is large and space is tight:
$resolver{ {lc("$External_A|$External_B") } = "Internal_A Internal_B";
And split them for use.
But using a "two strings smacked together" key just seems wrong.
Again why? Composite keys are a perfectly natural solution used in all manner of DB/dataretreival mechanisms.
You could use nested hashes $resolver{ External_A }{ External_B}.
But if the code is working as is, I'd want a reason (beyond is "seeming wrong") before I'd change it.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: A question of style: Composite keys to multiple values
by Voronich (Hermit) on Aug 06, 2012 at 19:57 UTC |
In Section
Seekers of Perl Wisdom