Skip to content

Commit db5a1fa

Browse files
committed
add a bunch of new code metrics resources
1 parent 5c06268 commit db5a1fa

2 files changed

Lines changed: 36 additions & 3 deletions

File tree

‎content/pages/02-development-environments/08-bash-shell.markdown‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ during Python software development as part of a programmer's
4848
script that was never meant to be used by anyone other than the original
4949
author.
5050

51+
* [Bash scripting quirks & safety tips](https://jvns.ca/blog/2017/03/26/bash-quirks/)
52+
explains Bash basic programming constructs like `for` loops and variable
53+
assignment then goes into ways to avoid weird issues in your code.
54+
5155
* [Safe ways to do things in bash](https://github.com/anordal/shellharden/blob/master/how_to_do_things_safely_in_bash.md)
5256
shows you how to not shoot yourself in the foot by using safe coding
5357
practices with your shell scripts.

‎content/pages/04-web-development/42-code-metrics.markdown‎

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ system are occurring.
3939
code files to give data on type and location of classes, methods and
4040
other related source information.
4141

42+
* [Flake8](http://flake8.pycqa.org/en/latest/) is a code format style
43+
guideline enforcer. Its goal is not to gather metrics but ensure
44+
a consistent style in all of your Python programs for maximum readability.
45+
The rules for Flask8 are all defined in
46+
[this list](https://lintlyci.github.io/Flake8Rules/), which rolls up
47+
the Flake8 dependencies of pycodestyle, pyflakes and McCabe.
48+
4249
* [Black](https://github.com/ambv/black) is a Python code formatter with
4350
strong, uncompromising assumptions about how your code must be formatted.
4451

@@ -79,17 +86,24 @@ diminishing returns.
7986
explains the difference between sampling and tracing profilers then
8087
digs into how they work and their advantages and disadvantages.
8188

89+
* [Moving Fast With High Code Quality](https://engineering.quora.com/Moving-Fast-With-High-Code-Quality)
90+
provides Quora's code quality goals and how they handle code reviews
91+
with their internal tools.
92+
8293
* [Static Code Analizers for Python](http://doughellmann.com/2008/03/01/static-code-analizers-for-python.html)
8394
is an older article but goes over the basics of what Python static code
8495
analyzers do.
8596

86-
* This [Stack Overflow question on Python static code analysis tools](http://stackoverflow.com/questions/1428872/pylint-pychecker-or-pyflakes)
87-
contains comparison discussions of PyLint, PyChecker and PyFlakes.
88-
8997
* [Getting Started with Pylint](http://jbisbee.blogspot.ca/2014/04/getting-started-with-pylint.html)
9098
goes over setting up Pylint, generating the .pylintrc file and what's
9199
in the configuration.
92100

101+
* [Linting as Lightweight Defect Detection for Python](https://dev.to/sethmichaellarson/linting-as-lightweight-defect-detection-for-python)
102+
presents a straightforward code example of how linters can detect certain
103+
classes of errors in code that especially in dynamically-typed languages
104+
are not caught at compile time. The post then shows how to use Flake8 in
105+
your own code reviews.
106+
93107
* This /r/Python
94108
[poll on what linters the community uses](https://www.reddit.com/r/Python/comments/3oyjva/what_python_linter_do_you_use_poll/)
95109
provides some input on using PyCharm just for its linting features as
@@ -99,3 +113,18 @@ diminishing returns.
99113
shows how to use the `autopep8` library, including an [Emacs](/emacs.html)
100114
plugin that lints your code for PEP8 compliance as you work.
101115

116+
* [How to use Flask8](https://simpleisbetterthancomplex.com/packages/2016/08/05/flake8.html)
117+
explains what Flask8 is, its usage and expected output.
118+
119+
* [What is Flake8 and why we should use it?](https://medium.com/python-pandemonium/what-is-flake8-and-why-we-should-use-it-b89bd78073f2)
120+
covers why using a linting tool like Flake8 can improve the quality of
121+
your Python code and how to install and configure it for your
122+
environment.
123+
124+
* [Dynamic tracing a Pony + Python program with DTrace](https://blog.wallaroolabs.com/2017/12/dynamic-tracing-a-pony---python-program-with-dtrace/)
125+
shows how to use dynamic tracing programs to analyze code
126+
at runtime.
127+
128+
* This [Stack Overflow question on Python static code analysis tools](http://stackoverflow.com/questions/1428872/pylint-pychecker-or-pyflakes)
129+
contains comparison discussions of PyLint, PyChecker and PyFlakes.
130+

0 commit comments

Comments
 (0)