User talk:Smls: Difference between revisions

 
Line 56:
 
:: Er, no. &nbsp; It's not they used different &nbsp; <u> examples</u>, &nbsp; but different &nbsp; <u> test cases</u>. &nbsp; That's why they are called &nbsp; ''test cases'', &nbsp; they're to be used to prove (test) that the code works correctly and the test cases are to be used for validation. &nbsp; There's nothing wrong about &nbsp; ''adding'' &nbsp; test cases (of the programmer's choosing, that's done all the time), but the task's test cases are to be used as part of the task's requirements. &nbsp; Otherwise, why have test cases? &nbsp; Test cases are there to have some kind of conformity among the programming entries so as to make them easier to compare. &nbsp; Sometimes, instead of '''test cases''', they are labeled '''examples''', which may or may not be used as part of the task's requirements. &nbsp; This is one reason why test cases are added to instead of replacing them &nbsp; (almost always while the task is still in draft status). &nbsp; But I understand your reluctance to flag (almost wholesale) most of the programming entries, but that's the price of changing test cases. &nbsp; It's an easy thing to fix (or accommodate). &nbsp; -- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Gerard Schildberger|talk]]) 17:39, 1 September 2016 (UTC)
 
 
::: I've added the "update needed" templates on this page now, because some of the solutions seemed confused by the ambiguity of the old task description anyway, so it's good to have them looked over now that the task is clearer. However, in general I disagree with your notion that the existence of test cases below the task description implies a strict requirement for solution to show those particular inputs and outputs on the page... --[[User:Smls|Smls]] ([[User talk:Smls|talk]]) 10:03, 4 September 2016 (UTC)
 
 
::: "''Otherwise, why have test cases?''" &mdash; As an aid, not an obligation:
:::* It says to programmers who want to add solutions: "Hey, here are some unit tests that can help you implement your code correctly, and to clear up any uncertainties you might have about the task requirements".
:::* Even if the task description is already super precise about all requirements, a table of test-cases helps to see at a glance what the task wants you to do, so people can decide more quickly if they even want to attempt to solve that task, and what it would involve.
:::* Not to mention that writing the test-cases helps task authors think about potential problems and edge cases, resulting in better written and more focused tasks, so it's a good thing to encourage.
::: I think those are plenty of reasons to have them, without interpreting it as a strict task requirements to actually demonstrate them. In tasks I've written, I've usually added a sentence like "Demonstrate that it passes the test cases given below" to the task description if I thought that was particularly important for the task in question (e.g. [[Brace expansion]]), and not for other tasks.
::: --[[User:Smls|Smls]] ([[User talk:Smls|talk]]) 10:03, 4 September 2016 (UTC)
 
 
::: "''Test cases are there to have some kind of conformity among the programming entries so as to make them easier to compare''" &mdash; Consider tasks like [[Compiler/lexical analyzer]] where the test-cases are very long, and produce a strictly specified output. I don't think having an exact copy of the same long <code><nowiki>{{out}}<pre>...</pre></nowiki></code> block under each solution would do anything for comparability there, it would just make it harder to browse the page. So I think it's prefectly reasonable that the solutions on that page have opted to only show ''one'' of the test-cases. In general, I think people should have some leeway as to what inputs and outputs they show. Yes, a solution should '''pass''' all the official test-cases, but it shouldn't strictly be forced to '''demonstrate''' that on the page. RosettaCode is primarily meant to compare the code that solves the task's problem, not to compare repetitive demonstrations of how to use said code.
::: --[[User:Smls|Smls]] ([[User talk:Smls|talk]]) 10:03, 4 September 2016 (UTC)
 
 
::: "''Sometimes, instead of '''test cases''', they are labeled '''examples'''''" &mdash; I would avoid the word "examples", because in many places on RosettaCode that word is already used to refer to the solutions / code entries on a task page.
::: --[[User:Smls|Smls]] ([[User talk:Smls|talk]]) 10:03, 4 September 2016 (UTC)
Anonymous user