magnum/HACKING.rst
coldmoment ba8ad5e37f Add a hacking rule for string interpolation at logging
String interpolation should be delayed to be handled
by the logging code, rather than being done at the point
of the logging call.
See the oslo i18n guideline
* https://docs.openstack.org/oslo.i18n/latest/user/guidelines.html#adding-variables-to-log-messages
and
* https://github.com/openstack-dev/hacking/blob/master/hacking/checks/other.py#L39

Change-Id: I8a4f5f896865aebbff88ee894f0081e58cfce9ef
2017-07-15 14:49:45 +08:00

1011 B

Magnum Style Commandments

Magnum Specific Commandments

  • [M302] Change assertEqual(A is not None) by optimal assert like assertIsNotNone(A).
  • [M310] timeutils.utcnow() wrapper must be used instead of direct calls to datetime.datetime.utcnow() to make it easy to override its return value.
  • [M316] Change assertTrue(isinstance(A, B)) by optimal assert like assertIsInstance(A, B).
  • [M322] Method's default argument shouldn't be mutable.
  • [M336] Must use a dict comprehension instead of a dict constructor with a sequence of key-value pairs.
  • [M338] Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False).
  • [M339] Don't use xrange()
  • [M340] Check for explicit import of the _ function.
  • [M352] LOG.warn is deprecated. Enforce use of LOG.warning.
  • [M353] String interpolation should be delayed at logging calls.