软件工程有没有帮助?

rpsoft 10月前 129

我本职工作和程序设计毫不相关。但编程是自己的业余爱好。

目前发现自己的瓶颈是:软件写不大,只能写点很小的脚本工具。一旦有复杂一点的创意就不知道从何入手,如何设计。

自己现在开始看“软件工程”方面的书(包含面向对象设计、UML 之类的内容),不知道是不是有帮助。

PS:这里的 [软件工程] 是指软件工程学,不是指软件工程这门专业。

最新回复 (18)
  • shuo502 10月前
    引用 2
    老套路,找个流行度较高的框架,写个 个人网站,文章后台管理,评论,浏览数,后台权限,功能都要有
    写好之后 你就升级了
  • tlyan 10月前
    引用 3
    写个 V2EX
  • bgpspace 10月前
    引用 4
    都是些概念性的东西, 不落实到代码上几乎等于白看
    不如实在点, 定下一门语言, 在找个现有的项目去复现一次
    等你有代码积累后再回去看这些, 才能有切实收获
  • wjk199511140034 10月前
    引用 5
    没啥帮助。你说的“不知道如何入手”是抽象能力鶸,多想想怎么拆分就好了,我估计只能靠时间堆。
  • myseil 10月前
    引用 6
    老哥这头像很好认 i3 同好(狗头)
  • lyhiving 10月前
    引用 7
    跑题了
    软件工程我自己觉得有点类似"内功"的东西
    很多时候我们自己写代码会觉得学了很多算法 设计模式都用不上
    我感觉除了学习这些 还需要提高自己的抽象能力 所以有时候感觉遇到的问题和知道的解决方案对不上号
    系统架构的设计 模块的解耦 甚至落地到实际需求 都会潜移默化的用到你所学的这些
    关键很多时候
    ### 自己没意识到自己用上了某种设计模式
    ### 抽象能力不够
  • 2388492627 10月前
    引用 8
    软件工程很重要!
    我一直觉得:
    计算机技术(语言、框架)等 决定你能做什么
    软件工程 决定怎么做得更好。

    多想想
    0. 代码是先给人看的,再是运行的
    1. 高内聚,低耦合
    2. 可拓展性
    3. 可维护性
    4. 看到 1 要想到 10,看到 10 想到 100. 不过渡设计,但是要提前设计。
    ...

    多写写
    0. 在写代码的过程中不断的思考,这样写以后维护起来是否容易,是否能够兼容后面的功能
    1. 看看别人的例子,想想别人为什么那么写,是否有可以改进的地方,然后再自己写试试
    ...


    项目不知道怎么开始?
    从最简单的功能开始实现,一步一步迭代。每一步都要明确自己的目标,想要解决的的问题是什么,弄清楚主次矛盾。
  • hyllgf 10月前
    引用 9
    软件工程,建议你晚点看。
    先看看别人一些优秀的代码怎么写的,照葫芦画瓢多了,自然就有自己的想法了。
    这时候再去看软件工程,绝对会收益更大。
  • 服务器找Tina 10月前
    引用 10
    当然是非常有帮助的

    但是这门课在大学学的话是完全没用的
  • XiaoFaye 10月前
    引用 11
    软件工程是软件开发项目组织上那些问题,跟开发能力没啥关系。

    小项目用不上,敏捷就完了,不知道怎么做事因为知识的广度还不够,多看多学习。
  • 南瓜头 10月前
    引用 12
    不妨看看这门课
    http://web.mit.edu/6.031/www/fa19/
  • 老司机 10月前
    引用 13
    软件工程很重要,但是好像跟你的困境没多大关系。
    所以个人感觉你现在当务之急是“如何把一个大的软件拆分成多个小的、简单的模块”(抽象思维、或者有人说计算思维);而不是“如何管理已经被拆得乱七八糟的模块,或者将来会出现的乱七八糟的模块”(软件工程要解决的最基本最现实的问题就是这个,当然也不仅限于这个问题)。
    所以,可能你看看数据结构与算法的书?或者看看别的工程是如何拆分功能的?
  • Rens 10月前
    引用 14
    感觉化成灰你都认得我了,哈哈。
  • geo 10月前
    引用 15

    我已经转战 bspwm 了
    bspwm 比 i3 更加解耦
    快捷键的绑定和屏幕渲染是分开的 i3 是一体的
    这个和你问的设计模式也有点擦边
  • 左手写爱 10月前
    引用 16


    两位的建议好像比较类似,觉得说到了我的心坎里。
    我的问题的确就是“不知道如何把软件拆分成不同的模块”。看来我应该先学习一下面向对象设计的基本原则,然后实践练习。
    刚刚下了一本《深入浅出面向对象分析与设计》
  • ksky 10月前
    引用 17
    这就对了。复杂度控制是编码到一定程度一定会碰到的问题,现在的面向对象、各种规范、原则,其实都是都为了控制代码复杂度,当然有些是越控制越乱,哈哈。
  • songtianlun 10月前
    引用 18
    我已经转战 win10。上有老下有小,中间还有个如狼似虎的老婆,时间上折腾不起了。
  • QQmi 10月前
    引用 19
    设计模式很重要,可是看书没什么用。

    还是先把概念过一遍,工厂单例等等。然后找一个大型软件过一遍用 debugger 看看。其实这样差的也挺远的,不过除非你参加大型系统的开发,不然也没法
返回
发新帖