Code formatting in the forum
Mostrar comentarios más antiguos
Although this forum is online in the 3rd year now and thousands of examples can be found, it is still a tedious task to suggest beginners to format their code. The experienced contributors have explained the procedure thousands of times, and less than a hand full of the beginners found the time to thank them for this.
The problem has been mentioned exhaustively in the wish-list already. It shouldn't be complicated to solve this problem by adding explicit instructions for the first 5 times users post a question. Obviously neither the "{} code" nor the "? Help" button encourage people to learn the basics in the forum. But I'd hope that they spend the time to read text instructions like:
Formatted code is a core feature of this forum. Insert a blank line before and after the code and start each line with at least 2 spaces.
Follow the "? help" button to learn more.
And when this message disappears after the 5th posting, it could even get a red background and some flashing effects.
This would be much more efficient than letting the editors and other diligent users do this ungrateful job.
5 comentarios
Cedric
el 6 de Ag. de 2013
By the way, why two spaces? I find that, for single level code, I prefer one space so the code is a little shifted.
Evan
el 6 de Ag. de 2013
I agree that more voting would better utilize the whole point of the "reputation" system. It seems like the community on other help-forums use voting much less sparingly, while here 0 or 1 is the most common score for even excellent answers.
Oftentimes, I notice that a user has submitted a very detailed and on-point response to someone's question and think to myself its a shame that the answer was never accepted. It's only lately that I'm realizing that, even though I'm not the OP, I actually have the ability to at least give the author some sort of feedback/credit for their effort.
Jan
el 15 de Ag. de 2013
Respuesta aceptada
Más respuestas (5)
Jan
el 6 de Ag. de 2013
1 voto
3 comentarios
A quite simple test could be implemented actually: build a dictionary of MATLAB commands/functions and operator (without words/symbols that are frequently used outside of code), and have the forum detect code based on this and display a warning when code is detected in a new post.
Additional criteria could be used..
- The presence of single new lines, because there is often no reason to use them in normal text (as two new line chars are needed to start a new paragraph) but they a frequent in code.
- The presence of single line return after a ;
- The density of ";,:,=,(,),{,},[,],+,*,/,\,_", etc, as if there are for example more than one equal sign per 50 characters (thresholds could be determined based on a statistics made on existing posts), it is probably code.
- The presence of single letters like bcefghjklmnpqruvwxz.
- The presence of e.g. words with a "camelCase" cap. convention.
- Etc.
@Jan: I meant at Mathworks level, in PHP or whatever language they are using, they could implement a detection based on this list of criteria and display a warning if needed. These criteria would certainly catch most cases where there is unformatted code (and we don't need 100% accuracy), and their implementation is a matter of building a few regular expressions.
Also, this mechanism wouldn't prevent a user to submit an answer/comment, but just add a warning page which would display a red/big message warning that some unformatted code seemed to be detected and asking the user to either go back, or confirm that he/she wants to post the current content.
That said, if it presents any interest, I am probably able to build a MATLAB-based crawler which detects threads with unformatted code based on the aforementioned list of criteria, yes.
Iain
el 6 de Ag. de 2013
1 voto
Why not have two textboxes, one for text, and one for code?
1 comentario
Is there any way to have two levels of permissions for editing another user's question? At the moment, assuming there are no users who have been granted privileges prematurely, there are only 15 users capable of editing a question. I would say 50% or less of these users have been very active on these forums over the past month or so.
I understand that editing another user's question is a privilege that has potential for abuse and should therefore be difficult to obtain, but if it were possible to split the permissions in some manner, allowing users with, say, a reputation of 750 or 1000 to use the "format code" feature without modifying the text of a question, would it be worth the effort?
Perhaps its cynical, but I think that it's going to be near impossible to get new posters to adhere to the standards for formatting. We can put up announcements, add brightly colored textboxes to the "new question" page, and even flag certain keywords, but unless we actually are making it impossible to submit a post unless you've formatted those flagged keywords, people will continue submitting giant walls of unformatted code.
And not to hijack this topic, but another feature I would like to see is the ability to move comments and answers for those cases where users don't catch on to the differences between them.
2 comentarios
This is related to the "janitor" type of work mentioned here in my answer at the bottom (copied below).
" " "
I've seen Walter mentioning "janitor" type of work on the forum, and I think that a 500 rep. should allow people to do this kind of work actually, if they have time and energy for this (and if they are trusted; I'll develop this below). It is obviously tricky to give enough privileges to perform janitor work without giving all privileges, but it is certainly worth working on finding a solution.. in the sense that currently you have to be a high rep. member to spend your time on e.g. formatting questions instead of answering them (..).
Jan posted lately a question about formatting and I commented mentioning "trustees". I think that it is meaningful in the sense that active people in the top 10 rep. know roughly who is answering questions and have an idea about the quality of the answers; in other words, I think that privileges would be better distributed by a mechanism involving rep. points but more importantly a sponsorship/trustee mechanism involving these top 10 rep. active people.
Mixing this idea and the "janitor" type of work mentioned above, I believe that it would be quite interesting if members hitting 500 rep. points, and defined as trustees by top 10 members, would get a limited privilege for editing questions (maybe more interesting than giving a privilege for accepting answers). To illustrate, a logic could be:
- Rep. points provide recognition as they should, but no privilege. These are separate aspects of the "life" on the forum.
- Rep. points + the sponsorship/trustee flag provide privileges. E.g. 500 pts + trustee provide "janitor type of work" privileges. People with these privileges are thought to be able to know when/where they are proficient enough to accept answers, and hence have the privilege to accept answers. They can also edit questions without having the full editor privilege, which could be defined as: adding/deleting spaces, underscore, stars, and CR/LF. This would allow performing most of the formatting tasks, without leaving the possibility to change the content (addressing hence Jan's concern in his post mentioned above). It would be relatively easy to implement the check: after removal of these characters in both the original and the modified text, the strings must match.
" " "
Jan
el 8 de Ag. de 2013
0 votos
Jan
el 4 de Mayo de 2015
0 votos
Categorías
Más información sobre Historical Contests en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!