Agreed.

On 4/18/13 9:19 PM, "Jarek Jarcec Cecho" <jar...@apache.org> wrote:

>Hi Namit,
>I like your proposal very much and I would take it a bit further:
>
>>   1.  ... For any complex function, clear examples (input/output) would
>>really help.
>
>I'm concerned that examples in the code (comments) might very quickly
>become obsolete as it can very easily happen that someone will change the
>code without changing the example. What about using for this purpose
>normal unit tests? Developers will still be able to see the expected
>input/output, but in addition we will have automatic way how to detect
>(possibly incompatible) changes. Please note that I'm not suggesting to
>abandon the *.q file tests, just to also include unit tests for complex
>methods.
>
>Jarcec
>
>On Thu, Apr 18, 2013 at 12:31:10PM +0000, Namit Jain wrote:
>> Hi,
>> 
>> Since we are developing at a very fast pace, it would be really useful
>>to think about maintainability and testing of the large codebase.
>> Historically, we have not focussed on a few things, and they might soon
>>bite us. I wanted to propose the following for all checkins:
>> 
>> 
>>   1.  Javadoc for all public/private functions, except for
>>setters/getters. For any complex function, clear examples (input/output)
>>would really help.
>>   2.  Convention for variable/function names ­ do we have any ?
>>   3.  If possible, the test name (.q file) where the function is being
>>invoked, or the query which would potentially test that scenario, if it
>>is a query processor change.
>>   4.  Specially, for query optimizations, it might be a good idea to
>>have a simple working query at the top, and the expected changes. For
>>e.g.. The operator tree for that query at each step, or a detailed
>>explanation at the top.
>>   5.  Comments in each test (.q file)­ that should include the jira
>>number,  what is it trying to test. Assumptions about each query.
>>   6.  Reduce the output for each test ­ whenever query is outputting
>>more than 10 results, it should have a reason. Otherwise, each query
>>result should be bounded by 10 rows.
>> 
>> In general, focussing on a lot of comments in the code will go a long
>>way for everyone to follow along.
>> 
>> Thanks,
>> -namit

Reply via email to