dottle's flowers

heaven and earth

令人失望!

我从好几年前开始就喜欢每过段时间就去看看以前写的代码。

我还记得我第一次回顾我写的第一个实用程序时整个人直接愣住了。那是个 js 爬虫,整个东西都是靠 callback 函数勉强维持住才能跑下去的。我现在都不一定能写出那样的代码。

后来我慢慢的不再能挑出我代码的实现上的问题了,格式也慢慢变得以至于可以被说 pedantic 的程度,但是零零星星的错误总是有的。

今天不太一样,我翻出来了这么个玩意(节选),似乎是我年初写的。

#include <bits/stdc++.h>

import os as 系统
import os.path as 路径
import http.client as 超文本协议客户端
from html import unescape as 解码
from multiprocessing.pool import ThreadPool as 线程池
import subprocess as 子进程
import re as 正则

import requests as 请求
import lxml
from bs4 import BeautifulSoup as 美汤

# 耶稣见其信、曰、人乎、尔罪赦矣(路加福音5:20)

# ...

def 抓取(链接):
    """通过GET获取一个超文本文件

    参数:链接

    返回:超文本字符串
    """
    with 请求.get(链接, stream=False, verify=请求确认, allow_redirects=True) as :
        if .ok:
            .encoding = 'utf-8'
            return .text
        else:
            raise Exception(f"网址 {超文本协议.responses[.status_code]}", .status_code)
            
# ...

太离谱了。


我简直难以想象我为什么当时不用 typing 库加类型注解。这玩意根本过不了 mypy

我迅速地把类型注解加了上去。

舒服了。