[FFmpeg-devel] [PATCH] Get rid of p
Ramiro Polla
ramiro
Sun Jun 8 22:42:54 CEST 2008
Michael Niedermayer wrote:
> On Sun, Jun 08, 2008 at 08:57:21PM +0100, Ramiro Polla wrote:
>> Michael Niedermayer wrote:
>>> On Fri, Jun 06, 2008 at 05:09:27PM +0100, Ramiro Polla wrote:
>>>> Hello,
>>>>
>>>> By the message subject you probably asked yourself "what 'p'?".
>>>>
>>>> Exactly, I ask myself the same question when reading the source.
>>>>
>>>> I find one-letter variable names hard to grep for and hard to understand.
>>>> Are patches to get rid of them or use more descriptive names welcome?
>>>>
>>>> Particular cases that come to my mind are:
>>>> - 's', used throughout FFmpeg to mean context. I suggest to change them to
>>>> ctx;
>>>> - 'p', used in video encoders for something that I still have no idea what
>>>> is doing there.
>>>>
>>>> Ramiro Polla
>>>> Index: utils.c
>>>> ===================================================================
>>>> --- utils.c (revision 13671)
>>>> +++ utils.c (working copy)
>>>> @@ -2779,7 +2779,6 @@
>>>>
>>>> int64_t parse_date(const char *datestr, int duration)
>>>> {
>>>> - const char *p;
>>>> int64_t t;
>>>> struct tm dt;
>>>> int i;
>>>> @@ -2808,12 +2807,11 @@
>>>>
>>>> memset(&dt, 0, sizeof(dt));
>>>>
>>>> - p = datestr;
>>> int64_t parse_date(const char *p, int duration)
>>>
>>> and your patch is much smaller
>> Hmmm... That goes against the whole purpose of my patch =)
>
> The purpose being to annoy me? :)
>
> It just factorizes the change into the unneeded variable copying removial
> and the cosmetic renaming of datestr->p (which i probably wont accept)
The purpose: renaming of datestr->p (which you probably wont accept)
I'm too lazy to write a patch to remove p = datestr; atm =). Might do it
some other time if someone doesn't beat me to it...
>>> we can discuss the renaming then seperately ...
>>> iam not sure if its good or not for the functions in your patch ...
>> I know my argumentation skills are close to NULL, but I'll try anyways...
>>
>> Once you know what the function does, having small variable names might
>> be better, but if you're reading it for the first time to try and find
>> out what it does, having single-letter or non-descriptive names makes it
>> harder to understand. Or if you're debugging and stumble upon those
>> variables, it takes longer to find out what they actually are.
>>
>> I use FFmpeg's source code as a basis to learn lots of things. I prefer
>> learning from well-written C code than textual descriptions like
>> textbooks or tutorials, and I'm probably not the only one.
>>
>
>> Another reason is that searching for any of occurrence of some variable
>> becomes hard, since its name is part of many other variable names and
>> mostly anything.
>
> get cscope
Interesting...
>> I found this specially painful when reading mpeg code for the mimic
>> encoder. Long functions with lots of s around...
>
> would it really have helped if these where lots of ctx instead? If so
> iam curious how?
Ctrl+F ctx F3 F3 F3...
Or / ctx n n n... if you prefer
[^a-z]s[^a-z] expects the search function of whatever editor to support
regexp. Maybe it's just because I grew out of Windows, but regexps are
much less intuitive for me, even if they are more powerful, specially
for simple searches.
Ramiro Polla
More information about the ffmpeg-devel
mailing list