V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sbldehanhan
V2EX  ›  C

有什么软件设计的书籍推介啊?

  •  
  •   sbldehanhan · 2023-07-26 09:36:10 +08:00 · 1753 次点击
    这是一个创建于 490 天前的主题,其中的信息可能已经有所发展或是发生改变。

    学了编程语言,但对如何利用编程语言构建一个软件却感到迷茫。例如:数据结构如何设计、函数如何设计、模块如何划分?有没有相关内容的书籍推介?

    14 条回复    2023-07-27 02:21:43 +08:00
    xycost233
        1
    xycost233  
       2023-07-26 10:07:53 +08:00
    代码级设计:《设计模式之美》《设计模式:可复用面向对象软件的基础》
    系统级设计:《架构整洁之道》《数据密集型应用系统设计》
    最重要的:《代码整洁之道》
    shawndev
        2
    shawndev  
       2023-07-26 10:12:24 +08:00   ❤️ 1
    不同领域不同场景不同规模的应用,你上面提到的问题答案都不尽相同。

    而商用软件很少会把“是什么”和“为什么”一五一十的告诉你。可以找一个开源的项目深入了解下,挑着 Facebook / Microsoft / Apple / Netflix / Mozilla / Apache 之类的开源项目看,通常文档更细致。
    sunznx
        3
    sunznx  
       2023-07-26 10:12:36 +08:00
    你这是没实战。还在上学的话看看国外的公开课有 lab 可以做,自学的话看看网上培训机构 curd 的课程
    shawndev
        4
    shawndev  
       2023-07-26 10:16:50 +08:00
    刚才没留意帖子的板块,从自己的 star 列表找了一些 c 的开源项目。


    obs
    vlc
    nginx
    redis
    coturn
    neovim
    ventoy
    audacity
    capstone
    apie
        5
    apie  
       2023-07-26 10:47:08 +08:00
    我觉得《重构》适合你,从代码演变的角度,让你看到对应需求的变化是怎么迭代设计的。
    https://book.douban.com/subject/30468597/
    nkidgm
        6
    nkidgm  
       2023-07-26 10:52:24 +08:00
    《代码大全》天生为你提出的这些问题而写的。

    外加一本设计模式的入门书籍即可。
    sbldehanhan
        7
    sbldehanhan  
    OP
       2023-07-26 11:04:59 +08:00
    @nkidgm #6 看过一遍代码大全。的确很好。
    ruyu
        8
    ruyu  
       2023-07-26 11:37:37 +08:00
    SICP
    yolee599
        9
    yolee599  
       2023-07-26 13:09:40 +08:00 via Android
    《 c primer plus 》
    《 C 陷阱与缺陷》
    《 C 和指针》
    《 C 专家编程》
    duke807
        10
    duke807  
       2023-07-26 13:11:47 +08:00 via Android
    c 的圣经是 linux 内核代码,看代码吧
    sbldehanhan
        11
    sbldehanhan  
    OP
       2023-07-26 14:25:38 +08:00
    @apie #5 我也觉得,我决定先看这本。
    encro
        12
    encro  
       2023-07-26 14:27:06 +08:00
    编程是为了解决问题,你需要解决什么问题。

    找出你期待解决的主要问题,然后找到解决这个问题的相关经久不衰的开源项目,学习它。

    比如我真正学会数据库数据结构如何设计、函数如何设计、模块如何划分是从 oscommerce 这个开源的电子商务框架开始的。而学习面向对象设计是从 Yii 这个框架和文档开始的。

    看看代码大全,设计模式,数据密集型应用系统设计当然是有用的。
    sbldehanhan
        13
    sbldehanhan  
    OP
       2023-07-26 14:27:50 +08:00
    @xycost233 #1 好的。先看代码设计级的,离架构设计还很远。
    wangqianqian
        14
    wangqianqian  
       2023-07-27 02:21:43 +08:00
    《从零开始学设计》
    《设计大师的商业课》
    《世界如此残酷,你要全力以赴》
    《失业之旅》
    《贫穷的本质》
    《禅与自在解脱》
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1072 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:31 · PVG 03:31 · LAX 11:31 · JFK 14:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.