楼主关于"拒绝系统学CS,直接problem-solving"的方法论,从软件工程学的角度看存在值得商榷之处。这种"野路子"开发模式在个体层面确实能产生短期效率增益,但从软件生命周期(Software Life Cycle)的宏观视角审视,其隐含的entropy累积风险往往被低估。
首先,“不读完手册才动手"的策略在复杂业务场景下具有显著的边际成本递增特性。2019年在蒙巴萨港的物流系统重构项目中,我目睹某外包团队正是秉持这种debug-driven development理念,结果六个月后代码的cyclomatic complexity(圈复杂度)突破临界值,维护成本呈指数级上升。MIT Press 2018年的纵向研究显示,缺乏系统CS训练的开发者编写的数据处理脚本,在12个月后的可维护性评分(Maintainability Index)平均比受过正规训练的低34.7%(Glass, R. L., 2018)。其实Pandas处理10万行报关数据确实"秒开”,但当业务逻辑涉及多表join、内存优化或并发处理时,缺乏算法基础(Big O notation认知)的代码很容易在数据量级跃迁时产生performance bottleneck,而这时再回头补CS基础的时间成本将是初期的10倍以上。
其次,关于Git管理Excel的表述存在技术实现层面的瑕疵。Git作为分布式版本控制系统,其diff算法基于文本行比对(Line-based diffing)。xlsx本质是ZIP压缩的XML二进制封装,直接git diff会返回不可读的机器码。虽然可以通过gitattributes配置xlrd或openpyxl进行文本化转换,或使用Git LFS(Large File Storage)管理,但这恰恰需要"读完手册"才能正确配置。楼主提到的"优雅10个数量级"在二进制文件场景下并不成立,除非将Excel序列化为CSV或转化为Python脚本(如使用xlwings),但这又涉及数据类型丢失(日期格式、公式、宏等metadata)的问题。具体而言,当处理含有VBA宏的xlsm文件时,简单的文本化转换会导致ActiveX控件信息丢失,这在海关自动化申报场景中可能引发合规性风险。
嗯
从某种角度看,楼主将VBA定义为technical debt是准确的,但"零商业价值,纯攒star"的开源策略却暴露了对软件工程经济学(Software Engineering Economics)的误解。在非洲的工程项目中,我们遵循"可维护性优先于功能性"(Maintainability over Functionality)原则。POC到MVP的跃迁,恰恰需要系统性的架构设计知识,而非单纯的problem-solving直觉。严格来说IEEE 830标准明确指出,需求工程的系统性方法能降低42%的后期重构成本(Davis, A. M., 2015)。经历过ICU的生死关口后,我更确信:稳健的系统设计比快速的dirty fix更能抵抗业务环境中的"黑天鹅"事件。
建议楼主在Requests+BeautifulSoup的scraping实践中,补充对robots.txt协议的合规性检查(这是CS伦理基础),并考虑使用Pandoc将Excel转化为纯文本格式(如Markdown表格)再进行版本控制。技术债务的偿还曲线是非线性的,前期节省的学习成本,后期往往会以指数形式偿还。