本文旨在通过一个案例(读取 data 目录下 100 篇小说文本,统计词频并输出前 10 高频词)来说明如何提升代码工程质量。 教案将逐步展示不同编程技术的应用,并分析其对代码可读性、可维护性、可扩展性和复用性的提升。 本案例不做性能提升方面的考量。 ## 起点:基础实现 ``` import os files = os.listdir('data') word_count = {} for file in files: with open('data/' + file, 'r', encoding='utf-8') as f: text = f.read() words = text.split() # 假设简单按空格分词 for word in words: if word in word_count: word_count[word] += 1 else: word_count[word] = 1 # 排序并输出前10 sorted_words = sorted(word_count.items(), key=lambda x: x[1], reverse=True) for i in range(10): print(sorted_words[i]) ``` ## 问题分析 - 可读性差:没有清晰的功能划分,代码逻辑混杂,难以阅读理解维护。 - 扩展性差:如果需要更改分词逻辑、文件路径或输出格式,需修改多处代码。 - 容错性差:未处理文件读取失败、空文件等问题。 - 复用性低:逻辑无法直接复用在其他类似任务中。