项目一:网页计算器
这个项目的出彩之处在于,它不仅仅是实现加减乘除,而是体现了对前端工程化、用户体验和复杂功能的理解。
项目名称:交互式高级网页计算器
技术栈:HTML5, CSS3, JavaScript (ES6+), React/Vue (可选加分项)
项目描述:一个支持高级运算(如括号、指数、三角函数)并注重用户体验的单页面应用(SPA)。
我的贡献与项目亮点:
架构设计与工程化:
采用 模块化 的JavaScript代码架构,将UI渲染、业务逻辑(表达式解析)和事件监听分离,极大提升了代码的可读性和可维护性。
确保在桌面和移动设备上均有良好的视觉体验。
核心算法实现:
核心功能并非使用简单的 eval() 函数,而是自主研发了表达式解析器。
使用 “调度场算法” 将用户输入的中缀表达式(如 " ( 2 + 3 ) * 4 ")转换为后缀表达式(逆波兰表示法),再基于栈结构进行计算。这展现了对数据结构(栈)和算法的深入理解。
实现了实时语法验证,在用户输入过程中能智能提示括号不匹配、运算符无效等错误,提升了交互友好性。
用户体验优化:
为所有按键添加了优雅的点击动效和键盘事件支持,实现了接近原生应用的流畅操作感。
项目名称:命令行/桌面端知识问答程序
技术栈:Python, 面向对象编程(OOP), 文件处理 (JSON/CSV)
项目描述:一个支持多种题型(单选、多选、判断)、题库管理和成绩统计的桌面应用程序。
我的贡献与项目亮点:
面向对象的设计:
运用 面向对象编程思想,设计了 Question(题目)、Quiz(试卷)、User(用户)等核心类。每个类职责单一,通过清晰的类关系实现了高内聚、低耦合。
例如,Question 类封装了题目内容、选项、正确答案和判分逻辑,展现了良好的抽象能力。
灵活的数据持久化:
题库没有硬编码在程序中,而是使用 JSON 或 CSV 文件进行存储和管理。
编写了独立的数据读写模块,使得增删题目无需修改代码,极大地提升了程序的实用性和可维护性。
丰富的功能与健壮性:
支持从题库中随机抽题生成试卷,每次测试都是新的体验。
程序具备强大的异常处理机制,能从容应对文件不存在、数据格式错误等异常情况,保证了程序的稳定性。