or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
有效清理 Python Code 中的無用部份 - 利用 Python AST - 洪任諭 (PCMan)
歡迎來到 https://hackmd.io/c/COSCUP2018 共筆
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →點擊本頁上方的 開始用 Markdown 一起寫筆記!
手機版請點選上方 按鈕展開議程列表。
slides, code: PCMan/python-find-unused-func
Speaker: Jen Yee "PCMan" Hong
Speak
Problems of Legacy Code
Static Code Analysis
Some Helpful tools
Code Coverage
Coverage.py
https://coverage.readthedocs.io/en/coverage-4.5.1a/
Code Coverage Tests
Pros:
Cons:
Alternatives?
grep ?
regex ?
DIY with Python AST!
Python AST
Some useful Python AST node types
from xxx import yyy
Find unused function
Pitfalls & Limitations
getattr(obj, 'func_name')()
globals()['func_name']()
from module import *
-> use autoflake to remove thisThe Whole Process
getattr()
,globals()
, and__import__
in the code( to make sure they don'y reference functions)a. after deleting some functions, their dependencies may become unsued as well
tags:
COSCUP2018
source