只会“单文件编程”,应该如何提升能力?

2023-06-10 17:19:44 +08:00
 shinsekai

每次遇到一个课题,看看输入是啥,想要得到什么输出,然后开始新建一个文本文档用 python 或 matlab 开始编。函数和类基本都放在一个文件里,当然有些另找的函数就直接放在同一文件夹下也没什么问题。内容无非是各种矩阵运算,调用各种库,最后点击运行。期间加断点看中间变量的值是否正确,然后画图看结果。时间久了,很多库都熟练了,课题也解决了,但总感觉:

这样的编程脱离实际,没法挣钱,请问有什么好的方法和教程?

4067 次点击
所在节点    程序员
25 条回复
sorcerer
2023-06-11 07:52:44 +08:00
缺乏面向对象编程能力。。
zgk
2023-06-11 13:49:43 +08:00
我理解这里目标主要是一个复杂度的控制。

大概是,当代码逻辑变得复杂,认知负担逐渐加重的情况下,怎么去设计抽象去隔离复杂度,拆分代码,减小认知的负担吧。然后拆文件、文件夹只是手段的小部分,类似拆函数、对象封装等等都是在做类似的事情,进一步衍生出各种各样不同的设计模式、方法啥的。

如果只是单纯处理输入和输出,一次性任务的方面,通常不会太复杂。涉及到网络、GUI 等涉及到更多运行时、操作系统能力的时候,确实就需要考虑复杂度的控制方面的东西了。

可以试着搞些大点的项目,比如说给你的课题脚本整点 UI 界面啥的(推荐试试前端技术 hhh )
WestXu
2023-06-11 21:09:23 +08:00
缺的是一个专业领域的知识,这个领域叫做软件工程
xyjincan
2023-06-12 09:14:17 +08:00
我觉得多看看领域内一些源码,看看典型项目
InvincibleDream
2023-06-12 14:12:30 +08:00
当有功能复用需求的时候就可以考虑把功能独立出来作为自己的依赖库,如果都是针对不同问题的脚本,采用“单文件编程”也没什么不妥。还有一种就是工程内容过多,单文件开发、优化造成困难,也需要分成多个文件。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/947572

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX