小项目做了不少,大项目力不从心 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
tdifg
V2EX    程序员

小项目做了不少,大项目力不从心

  •  
  •   tdifg 2015-07-20 13:12:22 +08:00 4615 次点击
    这是一个创建于 3814 天前的主题,其中的信息可能已经有所发展或是发生改变。

    身为软件专业的学生,现在在网络公司上班,工作上和业余会写写小工具(主要用python上学的时候用c,但只学算法)。现在一般工作上的问题都能很好的解决,但是一旦要写稍大点的项目就写的非常丑陋,最终只能是勉强能工作而已,后期想要拓展或维护也是根本不可能。
    现在需要学习些什么呢?是读别人代码好点还是看看代码大全之类的书?
    写代码主要还是兴趣驱动,因为实在不喜欢现在码农的感觉,想要更进一步。

    17 条回复    2015-07-21 11:37:17 +08:00
    ZackYang
        1
    ZackYang  
       2015-07-20 13:37:26 +08:00   2
    10行代码的组织: 代码大全, 重构, 代码整洁之道
    100行代码的组织: 设计模式(GoF)
    >1k行代码的组织: 企业架构模式应用, 领域驱动设计
    ZackYang
        2
    ZackYang  
       2015-07-20 13:38:07 +08:00   1
    企业架构模式应用 -> 企业应用架构模式
    6IbA2bj5ip3tK49j
        3
    6IbA2bj5ip3tK49j  
       2015-07-20 13:46:22 +08:00
    @ZackYang 100行就要用设计模式了?!
    yyfearth
        4
    yyfearth  
       2015-07-20 14:05:32 +08:00
    @xgfan 我觉得应该是以xx行 为单位的来算的代码量
    以十记……
    以百计……
    以千记……
    这样比较符合
    soli
        5
    soli  
       2015-07-20 15:50:39 +08:00
    可能你需要提高的是抽象能力。

    站在比较高的角度,把问题尽量合理的抽象,花大部分时间去思考,然后再去动手。
    vincenting
        6
    vincenting  
       2015-07-20 16:33:25 +08:00
    对自己代码嫌弃才是最大的驱动力。

    ---
    常规做法就是重构与模式类的书,然后看别人源码,如果你觉得他用了 XXX 模式,就分析为什么用,你有没有更好的重构的方法,可以在保证代码短小的情况下易于拓展/维护。
    hitsmaxft
        7
    hitsmaxft  
       2015-07-20 16:38:42 +08:00
    @ZackYang 才1千行就谈企业级,太早了吧,一个库的代码量都不到,至少得5w 行以上+频繁迭代
    tdifg
        8
    tdifg  
    OP
       2015-07-20 16:39:48 +08:00
    @vincenting 好的,不过现在相关的书貌似都是以java或c#为例来讲的,需要学习新语言吗
    KingHL
        9
    KingHL  
       2015-07-20 16:39:58 +08:00
    python的话,需要可以的去使用设计模式吗,很多不都透明了吗?
    tdifg
        10
    tdifg  
    OP
       2015-07-20 16:40:40 +08:00
    @KingHL 你这句话不通,念起来好难受
    KingHL
        11
    KingHL  
       2015-07-20 16:44:06 +08:00
    @tdifg 不好意思 因为写了错别字,“python的话,需要刻意的去使用设计模式吗,很多不都透明了吗?”
    vincenting
        12
    vincenting  
       2015-07-20 17:22:04 +08:00
    @tdifg java 很难么?只需要看懂他的 OOP 就行了。
    tdifg
        13
    tdifg  
    OP
       2015-07-20 17:27:00 +08:00
    @vincenting 曾经考虑学过,一看一本入门书七百来页就吓着了,其中一大半是OOP。
    ZackYang
        14
    ZackYang  
       2015-07-20 18:01:51 +08:00
    @xgfan
    @hitsmaxft

    参考而已.
    lujiajing1126
        15
    lujiajing1126  
       2015-07-21 08:20:32 +08:00 via Android
    关键还是看业务的复杂性

    个人觉得大部分几千行到几万行的量级,用好框架,加一些设计模式就能处理的不错

    ddd一些是为了抽象更复杂的问题,构建领域模型
    Rice
        16
    Rice  
       2015-07-21 10:04:03 +08:00
    @tdifg 我倒想知道哪些领域的入门书没有几百页的。除了HTML没有别的吧?
    就连Javascript的入门书也有六百页呢。
    tdifg
        17
    tdifg  
    OP
       2015-07-21 11:37:17 +08:00
    @Rice 嗯哪,只是看很多枯燥的理论会烦,打算学c#了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3209 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 00:04 PVG 08:04 LAX 16:04 JFK 19:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86