[flashrom] [PATCH] Shorten some board enable related function names
Carl-Daniel Hailfinger
c-d.hailfinger.devel.2006 at gmx.net
Wed Aug 31 18:27:01 CEST 2011
Am 21.08.2011 21:50 schrieb Stefan Tauner:
> On Tue, 16 Aug 2011 13:38:05 +0200
> Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net> wrote:
>
>> Am 15.08.2011 23:42 schrieb Stefan Tauner:
>>
>>> oh my. now that i see the code, i think renaming the board enables to
>>> board_match is really a bad idea. mainly because we use "match" as verb
>>> in other places, but here as substantive.
>>> e.g.
>>> static const struct board_match *board_match_cbname
>>> a function that matches boards according to their cbname should return
>>> a board, not a "board match". it is just a question of taste, but i
>>> find it awful :)
>>>
>> It's a trap!
>> The struct is there to match a board, so struct board_match is exactly
>> the right name for the _type_.
>>
> if that would be its only purpose, it would contain identification
> attributes only. last time i looked it had general info about boards
> (vendor and board name) and board enable specific fields (phase,
> max_rom etc). its previous name also suggests it is not just for
> matching. ;)
>
Hm right.
>>> the wiki table is named board_info hmhm maybe board_detail, but that's
>>> long.. :/
>>> what about just "board"?
>>> another way to mitigate "my" problem would be to no use match as a verb
>>> for the method names, but using "get" or "find" instead.
>>>
>> "get" has the wrong semantic implication for the cbname matching, and
>> "find" as in board_find_cbname suffers from the same problem because
>> we're NOT interested in finding the cbname of the board, but rather in
>> looking for a board which matches the supplied cbname.
>>
> i think the reason for our difference of opinion is how we view the
> table. for me it is a kind of database or container class. and we want
> to query it for objects with certain properties.
>
> in sane languages (supporting polymorphy) you could write that as
> <container variable>.find_board(cbname). of course "match" would work
> too, but as explained above i would like to use different terms just to
> have a (mental) distinction.
>
Understood, your view makes sense. To be honest, my approach to renaming
functions is "would I misunderstand the purpose of the function?"
>> pci_dev_find() looks for a device matching the supplied vendor+dev IDs.
>> pci_card_find() looks for a device matching the supplied
>> vendor+dev+subvendor+subdev IDs.
>>
>> The name "card" was picked to allow differentiating between PCI devices
>> (cards) which share vendor+dev ID, but have different subvendor+subdev
>> IDs. That's pretty common for network cards where dozens of vendors use
>> the same network chip (and thus fixed vendor+dev ID), but completely
>> different PCBs.
>>
> hm, ok
>
> well... it is certainly an improvement over the current state and this
> discussion wont lead to something more sane i feel, so think of it as
> Acked-by: Stefan Tauner <stefan.tauner at student.tuwien.ac.at>
Thanks, committed in r1424.
Regards,
Carl-Daniel
--
http://www.hailfinger.org/
More information about the flashrom
mailing list