V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
raawaa
V2EX  ›  程序员

软件工程有没有帮助?

  •  
  •   raawaa ·
    raawaa · 2019-12-19 14:31:37 +08:00 · 2689 次点击
    这是一个创建于 1819 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我本职工作和程序设计毫不相关。但编程是自己的业余爱好。

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

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

    PS:这里的 [软件工程] 是指软件工程学,不是指软件工程这门专业。
    22 条回复    2020-12-11 17:41:56 +08:00
    richzhu
        1
    richzhu  
       2019-12-19 14:33:09 +08:00
    老套路,找个流行度较高的框架,写个 个人网站,文章后台管理,评论,浏览数,后台权限,功能都要有
    写好之后 你就升级了
    dreamerlv3ex
        2
    dreamerlv3ex  
       2019-12-19 14:38:08 +08:00
    写个 V2EX
    kkniub
        3
    kkniub  
       2019-12-19 14:47:50 +08:00
    都是些概念性的东西, 不落实到代码上几乎等于白看
    不如实在点, 定下一门语言, 在找个现有的项目去复现一次
    等你有代码积累后再回去看这些, 才能有切实收获
    orzorzorzorz
        4
    orzorzorzorz  
       2019-12-19 15:26:36 +08:00
    没啥帮助。你说的“不知道如何入手”是抽象能力鶸,多想想怎么拆分就好了,我估计只能靠时间堆。
    Immortal
        5
    Immortal  
       2019-12-19 15:28:08 +08:00
    老哥这头像很好认 i3 同好(狗头)
    Immortal
        6
    Immortal  
       2019-12-19 15:30:47 +08:00
    跑题了
    软件工程我自己觉得有点类似"内功"的东西
    很多时候我们自己写代码会觉得学了很多算法 设计模式都用不上
    我感觉除了学习这些 还需要提高自己的抽象能力 所以有时候感觉遇到的问题和知道的解决方案对不上号
    系统架构的设计 模块的解耦 甚至落地到实际需求 都会潜移默化的用到你所学的这些
    关键很多时候
    ### 自己没意识到自己用上了某种设计模式
    ### 抽象能力不够
    wangcansun
        7
    wangcansun  
       2019-12-19 15:36:12 +08:00
    软件工程很重要!
    我一直觉得:
    计算机技术(语言、框架)等 决定你能做什么
    软件工程 决定怎么做得更好。

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

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


    项目不知道怎么开始?
    从最简单的功能开始实现,一步一步迭代。每一步都要明确自己的目标,想要解决的的问题是什么,弄清楚主次矛盾。
    willvvvvv1
        8
    willvvvvv1  
       2019-12-19 15:40:16 +08:00
    软件工程,建议你晚点看。
    先看看别人一些优秀的代码怎么写的,照葫芦画瓢多了,自然就有自己的想法了。
    这时候再去看软件工程,绝对会收益更大。
    Raymon111111
        9
    Raymon111111  
       2019-12-19 15:42:27 +08:00
    当然是非常有帮助的

    但是这门课在大学学的话是完全没用的
    Baelish725
        10
    Baelish725  
       2019-12-19 15:46:35 +08:00
    软件工程是软件开发项目组织上那些问题,跟开发能力没啥关系。

    小项目用不上,敏捷就完了,不知道怎么做事因为知识的广度还不够,多看多学习。
    vance123
        11
    vance123  
       2019-12-19 15:48:39 +08:00
    NYGK
        12
    NYGK  
       2019-12-19 16:00:27 +08:00
    软件工程很重要,但是好像跟你的困境没多大关系。
    所以个人感觉你现在当务之急是“如何把一个大的软件拆分成多个小的、简单的模块”(抽象思维、或者有人说计算思维);而不是“如何管理已经被拆得乱七八糟的模块,或者将来会出现的乱七八糟的模块”(软件工程要解决的最基本最现实的问题就是这个,当然也不仅限于这个问题)。
    所以,可能你看看数据结构与算法的书?或者看看别的工程是如何拆分功能的?
    raawaa
        13
    raawaa  
    OP
       2019-12-19 16:02:13 +08:00
    @Immortal 感觉化成灰你都认得我了,哈哈。
    Immortal
        14
    Immortal  
       2019-12-19 16:05:29 +08:00
    @raawaa
    我已经转战 bspwm 了
    bspwm 比 i3 更加解耦
    快捷键的绑定和屏幕渲染是分开的 i3 是一体的
    这个和你问的设计模式也有点擦边
    raawaa
        15
    raawaa  
    OP
       2019-12-19 16:09:41 +08:00
    @orzorzorzorz
    @NYGK
    两位的建议好像比较类似,觉得说到了我的心坎里。
    我的问题的确就是“不知道如何把软件拆分成不同的模块”。看来我应该先学习一下面向对象设计的基本原则,然后实践练习。
    刚刚下了一本《深入浅出面向对象分析与设计》
    shm7
        16
    shm7  
       2019-12-19 16:11:25 +08:00
    这就对了。复杂度控制是编码到一定程度一定会碰到的问题,现在的面向对象、各种规范、原则,其实都是都为了控制代码复杂度,当然有些是越控制越乱,哈哈。
    raawaa
        17
    raawaa  
    OP
       2019-12-19 16:13:09 +08:00
    @Immortal 我已经转战 win10。上有老下有小,中间还有个如狼似虎的老婆,时间上折腾不起了。
    hehheh
        18
    hehheh  
       2019-12-20 07:59:22 +08:00 via iPhone
    设计模式很重要,可是看书没什么用。

    还是先把概念过一遍,工厂单例等等。然后找一个大型软件过一遍用 debugger 看看。其实这样差的也挺远的,不过除非你参加大型系统的开发,不然也没法
    mikulch
        19
    mikulch  
       2019-12-20 14:07:39 +08:00
    挺有兴趣的,老哥本职工作做啥的呢?
    zjq123
        20
    zjq123  
       2020-02-13 12:27:19 +08:00
    楼主老家哪? 头像眼熟
    raawaa
        21
    raawaa  
    OP
       2020-02-13 12:40:30 +08:00
    @zjq123 #20 上海
    raawaa
        22
    raawaa  
    OP
       2020-12-11 17:41:56 +08:00
    @mikulch 电气工程,管管变电站和照明插座
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3039 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:50 · PVG 19:50 · LAX 03:50 · JFK 06:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.