Suggestion - stackexchange site which requires answers with unit tests?
-
Add requirement to stackoverflow questions or create a separate exchange which requires unit tests included with answers. Why - so it can be learned by a broader group of people.
Would you agree that the following are true or not? 1) a question posed is usually a simplification or genericisation of the true problem been faced. It may exclude constraints such as memory, time, parallelism, bandwidth, precision, reliability, data size, etc, etc which may impact selection of a solution. 2) any answer to such a question is therefor only partially informed. 3) a variety of 'correct' answers can be made to such a question, but only the questioner has the full context to evaluate the pros and cons of each answer, and hence which may be most suitable to the true problem. 4) any unit tests proposed by the answerer are incomplete due to point 1 5) any unit tests proposed by the answerer cannot anticipate the true edge cases Would it also be true that the best questions are those that explicitly identify/exlcude constraints. ( E.g I need to sort 10,000 numbers, and have gigabytes of memeory but need to do it as quickly as possible verses I need to sort 10,000 numbers, but only have 1kb memory available...)
-
Add requirement to stackoverflow questions or create a separate exchange which requires unit tests included with answers. Why - so it can be learned by a broader group of people.
maze3 wrote:
Why - so it can be learned by a broader group of people.
Hahaha, that broad group isn't inhibited now; they're free to learn the subject. So no, I won't accept that as a reason. If I want to add unit-test with my answer on CP, I can do so; simply add a link to the GitHub that contains them. Next, answers should be short and to the point, with examples being as simple as possible - anything that isn't relevant to the question or answer should not be there; imagine a book to learn C# that has unit-tests for its "Hello world". Finally, it will mean very few volunteers there; given the questions here (and there), a unit-test is hardly relevant. Also lot of people who might want to answer, and won't (due to the added requirement). Perhaps you want full XML-documentation too? And did you consider asking for multi-version answers, so that you can download code & unit-test for your exact .NET version? And, if the question involves a database, a complete SQL-script to generate the structure and fill it with test-data? Let's have all that before allowing someone to answer :D
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
-
Probably one for Stack Exchange Meta, but if we must discuss it here - take it to The Weird & The Wonderful, it's way too surreal for the Lounge!
Whenever you find yourself on the side of the majority, it is time to pause and reflect. - Mark Twain
Only CCC is too surreal for the Lounge... :-D
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
-
Only CCC is too surreal for the Lounge... :-D
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
Oh, I don't know - all this talk of missing spoons ...
Whenever you find yourself on the side of the majority, it is time to pause and reflect. - Mark Twain
-
Add requirement to stackoverflow questions or create a separate exchange which requires unit tests included with answers. Why - so it can be learned by a broader group of people.
[TestMethod]
public void QuestionIsAnsweredCorrectly()
{
var question = GetQuestion();
var answers = question.GetAnswers();
var isCorrect = answers.Any(a => a.Body.Contains("duplicate") || a.Body.Contains("Google") || a.Author == "Jon Skeet");
Assert.IsTrue(isCorrect);
}Directly taken from the StackExchange source code :D
Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly
-
maze3 wrote:
Why - so it can be learned by a broader group of people.
Hahaha, that broad group isn't inhibited now; they're free to learn the subject. So no, I won't accept that as a reason. If I want to add unit-test with my answer on CP, I can do so; simply add a link to the GitHub that contains them. Next, answers should be short and to the point, with examples being as simple as possible - anything that isn't relevant to the question or answer should not be there; imagine a book to learn C# that has unit-tests for its "Hello world". Finally, it will mean very few volunteers there; given the questions here (and there), a unit-test is hardly relevant. Also lot of people who might want to answer, and won't (due to the added requirement). Perhaps you want full XML-documentation too? And did you consider asking for multi-version answers, so that you can download code & unit-test for your exact .NET version? And, if the question involves a database, a complete SQL-script to generate the structure and fill it with test-data? Let's have all that before allowing someone to answer :D
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
Maybe the code isn't posted to the thread at all, maybe the person answering should have to physically visit the asker to enter the code directly into their solution and fixed any errors that occur?
-
Maybe the code isn't posted to the thread at all, maybe the person answering should have to physically visit the asker to enter the code directly into their solution and fixed any errors that occur?
-
Add requirement to stackoverflow questions or create a separate exchange which requires unit tests included with answers. Why - so it can be learned by a broader group of people.
When they can't even get the lusers posting irredeemable drek to post an MCVE; isn't just a bridge too far. It's a bridge from here to Jupiter where the people who're failing to ask good questions have all gone to get more stupider.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt
-
Add requirement to stackoverflow questions or create a separate exchange which requires unit tests included with answers. Why - so it can be learned by a broader group of people.
By "unit tests" you probably mean "unit tests, according to test-driven-development standards" (or a TDD variant). Problems with this idea: 1. You can't learn TDD by code snippets and basic intuition; you learn its theory by organized study, and then do lots of exercises to solidify the knowledge. 2. The vast majority of unit tests written in the industry are by people who don't understand TDD basics. The answers with unit tests will be written (and upvoted) by people who don't understand TDD, accomplishing nothing for beginners hoping to gain useful knowledge. 3. TDD is not as widespread or useful to the industry as it appears. People pay lip service to how wonderful it is, clutter their code with useless unit tests not written according to any real standard, and then proceed to ignore all those useless unit tests 99% of the time (except for the 1% of the time where they talk about how wonderful and useful the unit tests are).
-
Add requirement to stackoverflow questions or create a separate exchange which requires unit tests included with answers. Why - so it can be learned by a broader group of people.