1. Redis 作者關于寫代碼注釋的一點想法
http://antirez.com/news/124
Redis 的代碼注釋清晰簡潔浪汪,堪稱典范此迅。
這篇文章作者分享自己寫注釋的一點心得炕桨,推薦一讀吏饿。
概括起來注釋包括:
- Function comments 放在函數(shù)里面庇楞,減少讀代碼者需要額外的思考負擔
- Design comments 通常放在一個文件的開頭钦无,整個文件的概述丛忆、原理等
- Why comments 解釋一些實現(xiàn)方法的原因
- Teacher comments 解釋一些非編程領域的人可能不了解的信息祠汇,如數(shù)學、圖形學等
- Checklist comments 解決一些比如改了這里代碼熄诡,也要修改那里代碼的問題
- Guide comments 幫助引導讀者確認沒有誤解代碼
……
作者原話:
- Writing good comments is harder than writing good code
- 寫好注釋比寫好代碼更困難可很。
2. Python 中與和導入同等級目錄下的另一個模塊?
假設我有一個模塊my_module
, 我為其寫了一些測試腳本放在tests
目錄下凰浮。
一般情況下我抠,我并不想把這些測試腳本放在源碼文件里面,所以會這樣存放:
.
├── README.md
├── my_module
│ └── my_class.py
└── tests
└── my_test.py
但是由于測試腳本并不在模塊里面袜茧,當需要導入這個模塊的時候菜拓,就有點麻煩,只能通過路徑的方法導入:
# tests/my_test.py
import sys
from os import path
sys.path.append( path.dirname( path.dirname( path.abspath(__file__) ) ) )
from my_module import my_class
3. 使用 SQLAlchemy 直接執(zhí)行 SQL 語句
SQLAlchemy 雖然提供了方便的ORM惫周,但有時候需要直接執(zhí)行一些語句尘惧,有不想用其他連接庫的時候,可以直接用engine.connect()
來執(zhí)行递递。
from sqlalchemy.sql import text
connection = engine.connect()
# recommended
cmd = 'select * from Employees where EmployeeGroup == :group'
employeeGroup = 'Staff'
employees = connection.execute(text(cmd), group = employeeGroup)
參考鏈接
https://stackoverflow.com/questions/17972020/how-to-execute-raw-sql-in-sqlalchemy-flask-app
https://chartio.com/resources/tutorials/how-to-execute-raw-sql-in-sqlalchemy/
4. Git diff 直接輸出到當前頁面
有時候我們需要將 git diff 輸出到當前頁面或者文件喷橙,可以通過參數(shù)或者管道控制啥么。
git --no-pager diff
git diff | cat # The latter also removes colour coding.
5. 一些有意思的句子
"Poor people spend their money and save what’s left. Rich people save their money and spend what’s left."
https://www.jimrohn.com/3-money-habits-separate-rich-poor/
其實作為運維,對于時間管理也是相同的道理:珍惜時間的人應該能夠盡量按照自己的計劃來工作贰逾,而不是等待緊急時間悬荣,一直處于救火狀態(tài)。