git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 00/18] git-remote-mediawiki: Follow perlcritic's recommandations

From
Célestin Matte <celestin.matte@ensimag.fr>
Date
Jun 6, 2013, 19:34 UTC
Message-ID
<1370547263-13558-1-git-send-email-celestin.matte@ensimag.fr>
Hi,
This series of commits intends to follow most of perlcritic's recommandations
in order to make the code more maintainable and readable.
I followed most recommandations from level 5 (most critical ones )to 2, but 
left a great part of the level 1 ones, as they were more about personal choices
of coding style and less about actually improving maintainability and preventing
bugs. Among those I did *not* take into account were:
- ValuesAndExpressions::ProhibitNoisyQuotes: use q(*) instead of '*' for quoting
  some characters
- RegularExpressions::ProhibitEnumeratedClasses: e.g., use [0-9] instead of \d
- CodeLayout::ProhibitParensWithBuiltins: don't use parentheses with builtin
  functions
- RegularExpressions::RequireExtendedFormatting, 
  RegularExpressions::RequireDotMatchAnything and
  RegularExpressions::RequireLineBoundaryMatching: use s, m and x flags for
  *every* regexp
- and some others. Run perlcritic -1 on patched file to so what is left.
Please tell me if you think some of them should be applied anyway.
On the other hand, if quite not sure of the relevance of some commits:
- Add newline in the end of die() error messages [3/18]: are die() messages
  correctly handled already?
- Place the open() call inside the do{} struct and prevent failing close
  [17/18]: current code fails to close the filehandle (try adding a 
  "or warn(..)" after the close() to check this). However, perlcritic complains
  as well if you don't put an explicit close(), which fails when you put it.
  I'm not sure of what's happening and what's the best solution for this.

I checked Documentation/CodingGuidelines and none of these modifications should contradict it. This is my first patch, so don't hesitate to point to me anything wrong with it.

Célestin Matte (18):
  Follow perlcritic's recommendations - level 5 and 4
  Change style of some regular expressions to make them clearer
  Add newline in the end of die() error messages
  Prevent local variable $url to have the same name as a global
    variable
  Turn double-negated expressions into simple expressions
  Remove unused variable
  Rename a variable ($last) so that it does not have the name of a
    keyword
  Explicitely assign local variable as undef and make a proper
    one-instruction-by-line indentation
  Check return value of open and remove import of unused open2
  Put long code into a submodule
  Modify strings for a better coding-style
  Brace file handles for print for more clarity
  Remove "unless" statements and replace them by negated "if"
    statements
  Don't use quotes for empty strings
  Put non-trivial numeric values (e.g., different from 0, 1 and 2) in
    constants.
  Fix a typo ("mediwiki" instead of "mediawiki")
  Place the open() call inside the do{} struct and prevent failing
    close
  Clearly rewrite double dereference
 contrib/mw-to-git/git-remote-mediawiki.perl |  558 ++++++++++++++-------------
 1 file changed, 298 insertions(+), 260 deletions(-)
-- 
1.7.9.5
Next: Célestin Matte
Message 1 of 44 in “git-remote-mediawiki: Follow perlcritic's recommandations”
  1. 00/18 git-remote-mediawiki: Follow perlcritic's recommandationsCélestin Matte, Jun 6, 2013
  2. 01/18 Follow perlcritic's recommendations - level 5 and 4Célestin Matte, Jun 6, 2013
  3. Eric SunshineJun 7, 2013
  4. Matthieu MoyJun 7, 2013
  5. Célestin MatteJun 7, 2013
  6. Matthieu MoyJun 7, 2013
  7. 02/18 Change style of some regular expressions to make them clearerCélestin Matte, Jun 6, 2013
  8. Eric SunshineJun 7, 2013
  9. Junio C HamanoJun 7, 2013
  10. Eric SunshineJun 7, 2013
  11. Junio C HamanoJun 7, 2013
  12. Peter KreftingJun 7, 2013
  13. 03/18 Add newline in the end of die() error messagesCélestin Matte, Jun 6, 2013
  14. 04/18 Prevent local variable $url to have the same name as a global variableCélestin Matte, Jun 6, 2013
  15. 05/18 Turn double-negated expressions into simple expressionsCélestin Matte, Jun 6, 2013
  16. Eric SunshineJun 7, 2013
  17. Célestin MatteJun 7, 2013
  18. Eric SunshineJun 7, 2013
  19. Célestin MatteJun 7, 2013
  20. 06/18 Remove unused variableCélestin Matte, Jun 6, 2013
  21. 07/18 Rename a variable ($last) so that it does not have the name of a keywordCélestin Matte, Jun 6, 2013
  22. 08/18 Explicitely assign local variable as undef and make a proper one-instruction-by- line indentationCélestin Matte, Jun 6, 2013
  23. Eric SunshineJun 7, 2013
  24. Matthieu MoyJun 7, 2013
  25. 09/18 Check return value of open and remove import of unused open2Célestin Matte, Jun 6, 2013
  26. Matthieu MoyJun 7, 2013
  27. 10/18 Put long code into a submoduleCélestin Matte, Jun 6, 2013
  28. Eric SunshineJun 7, 2013
  29. Junio C HamanoJun 7, 2013
  30. 11/18 Modify strings for a better coding-styleCélestin Matte, Jun 6, 2013
  31. Eric SunshineJun 7, 2013
  32. 12/18 Brace file handles for print for more clarityCélestin Matte, Jun 6, 2013
  33. 13/18 Remove "unless" statements and replace them by negated "if" statementsCélestin Matte, Jun 6, 2013
  34. Eric SunshineJun 7, 2013
  35. 14/18 Don't use quotes for empty stringsCélestin Matte, Jun 6, 2013
  36. 15/18 Put non-trivial numeric values (e.g., different from 0, 1 and 2) in constants.Célestin Matte, Jun 6, 2013
  37. 16/18 Fix a typo ("mediwiki" instead of "mediawiki")Célestin Matte, Jun 6, 2013
  38. 17/18 Place the open() call inside the do{} struct and prevent failing closeCélestin Matte, Jun 6, 2013
  39. Junio C HamanoJun 6, 2013
  40. Célestin MatteJun 6, 2013
  41. Junio C HamanoJun 6, 2013
  42. Célestin MatteJun 6, 2013
  43. 18/18 Clearly rewrite double dereferenceCélestin Matte, Jun 6, 2013
  44. Eric SunshineJun 7, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.