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

请问大家在没法写个人项目的时候是如何改善的?

  •  
  •   levelworm · 4 天前 via Android · 3389 次点击

    最近一年来我越来越落入开项目-稍微遇到点阻力就放弃的恶性循环。最近一次是前几个礼拜开了个操作系统的项目,写了 loader.s 和 io 相关的几个函数,昨晚看完了 segment register 的教程之后,今天就不想写了。

    其实真的说不上什么困难,无非是把 gdt 写进去,然后开始研究中断和 paging 。但是我就是浑身提不起来尽头。日常的工作的确比较无聊,但是我也很少全力为之。

    请教一下,V 友们遇到这种情况是如何解决的?我琢磨着,也许忍个半年完全不写个人项目,也许会有用,但是有这么多有趣的东西,就算几个礼拜不写,也会痒痒,忍不住的话就又进恶性循环了。

    头疼啊,真不知道怎么办了。

    50 条回复    2024-09-15 23:53:56 +08:00
    mercurylanded
        1
    mercurylanded  
       4 天前   ❤️ 3
    不写了,想起来再说
    estk
        2
    estk  
       4 天前 via iPhone   ❤️ 1
    做个最简单的付费版,让付费用户催更
    DOGOOD
        3
    DOGOOD  
       4 天前   ❤️ 1
    op 要是治好这个病的话记得广而告之
    RobinzzZ
        4
    RobinzzZ  
       4 天前   ❤️ 1
    头像不错,怎么搞的
    huangyezhufeng
        5
    huangyezhufeng  
       4 天前   ❤️ 2
    顺其自然就好。我觉着只要你是认可长期主义的,就不必着急。想写就写,不想写就扔哪里就行(如果没人用的话:)
    我这个自己的项目( https://github.com/ai-glimpse/toyml/graphs/contributors),从 2020 年就开始写了,4 年来就是想写就写,不想写就放下。然后我发现,代码放一段时间再回来看还能有新的视角,也发现更多的问题,体验还挺好的。
    monkeyk
        6
    monkeyk  
       4 天前   ❤️ 1
    个人经验分享:要做这事必须要有足够的兴趣,否则真的很难坚持;以我自己经历最好还与自己的工作或研究方向相匹配的,不能想起点什么就去做什么(大脑平均一天都有几百上千个想法)。

    最后还有最重要的一点,就是你要认可你做的东西是有价值的,会有收获的(不管是技术上别人的认可还是其他的如收入)。
    可参考个人的开源项目 https://gitee.com/shengzhao/spring-oauth-server 2013 年开始的。
    huangyezhufeng
        7
    huangyezhufeng  
       4 天前   ❤️ 1
    levelworm
        8
    levelworm  
    OP
       4 天前 via Android
    @mercurylanded 我现在的问题是,三四个礼拜不写还行,再多就觉得不写好难受。我要是能安安静静打游戏的话,也就不那么难受了。
    iorilu
        9
    iorilu  
       4 天前   ❤️ 1
    开了个操作系统的项目

    什么意思, 搞一个类似 linux?
    levelworm
        10
    levelworm  
    OP
       4 天前 via Android
    @DOGOOD 病情严重,可能要去看医生了。。。
    levelworm
        11
    levelworm  
    OP
       4 天前 via Android
    @RobinzzZ 是个之前朋友发的表情
    0xcaffebabe
        12
    0xcaffebabe  
       4 天前
    自己先用起来
    levelworm
        13
    levelworm  
    OP
       4 天前
    @huangyezhufeng 多谢。我还有个问题是,项目一旦不写了,基本上就不会再写了。我有大概二十来个 repo ,都是半成品。。。
    tool2dx
        14
    tool2dx  
       4 天前   ❤️ 1
    20 个 repo 也很猛了,我看老外也说过类似的话。公司招很聪明的人写代码,兴趣来得快,去的也快。只有资质平庸的人,才能心甘情愿留下来,把整个项目写完。
    joyoyao
        15
    joyoyao  
       4 天前   ❤️ 2
    放弃不难,但坚持一定很酷。心有所信,方能远行。我的座右铭,希望对你有帮助。
    我差不多坚持一年了,都是周一到周五晚上搞个人项目,要保障每天 2 小时以上。
    huangyezhufeng
        16
    huangyezhufeng  
       4 天前   ❤️ 1
    @levelworm #13 是不是可以思考下最开始的时候为什么要作这个项目,然后项目的里程碑是不是有提前规划好?我觉着自己做项目还是找出来自己真正想做的(这并不是一个容易的问题),然后定好里程碑慢慢搞。如果做了很多半成品,我觉着多半是因为一开始的目标不太清晰,或者并不是真的喜欢吧。如果是前者,可以重新规划一下;如果是后者,放弃没什么不好。
    levelworm
        17
    levelworm  
    OP
       4 天前 via Android
    @iorilu 没没没,就是学习项目,从头写个简单的操作系统出来,连 Linux 0.01 都不如。
    montaro2017
        18
    montaro2017  
       4 天前   ❤️ 2
    平时上班代码都写够了不想写了,要是不上班估计就有动力写了
    levelworm
        19
    levelworm  
    OP
       4 天前 via Android
    @monkeyk 多谢,可惜我工作这块我兴趣不大。不过的确是个好建议。
    iorilu
        20
    iorilu  
       4 天前   ❤️ 1
    我个人觉得

    你这个还是重复轮子搞得太多

    尝试下新得东西, 没人搞得, 哪怕时简单的

    项目没有复杂简单之分, 只有有用的和没用的之分
    yb2313
        21
    yb2313  
       4 天前   ❤️ 1
    这个问题很难解决, 遇到困难睡大觉 , 或者喝酒,
    Haku
        22
    Haku  
       4 天前   ❤️ 2
    写的时候没有激励,确实容易放弃,我之前想写个独立游戏玩玩,写了一个战斗场景不满意想换,现在卡了几个月了更换的代码还没动笔。
    只能说尽量在项目里找点正反馈吧,一直没有反馈或者负反馈确实折磨人。
    FYFX
        23
    FYFX  
       4 天前   ❤️ 1
    看看别人写的?
    &list=PL980gcR1LE3LBuWuSv2CL28HsfnpC4Qf7
    shapper
        24
    shapper  
       4 天前   ❤️ 1
    遇到问题,干掉它,越干不掉越来劲,实在搞不定放下,等哪天灵感来了,操刀盘它。个人项目靠兴趣和决心驱动。。。
    msg7086
        25
    msg7086  
       4 天前   ❤️ 1
    如果一个东西有趣,你想写着玩,那就写,如果不想写了就扔。你写着玩的目的又不是真的要做一款产品,而是学习的过程。写完了删了都没关系,知识你已经学到了。
    如果是要认认真真写项目的,那至少你自己得会想要去用。你自己都不用的项目,别人更不会用了,写了没意义。如果你自己会用,那么写完以后至少能给你自己带来方便,这样就有动力去写了。
    Dora112233
        26
    Dora112233  
       4 天前   ❤️ 1
    其实最根本的原因就是这个项目不能带来直接利益,就是不赚钱!
    zealot0630
        27
    zealot0630  
       4 天前   ❤️ 1
    说明你是个正常人
    sivacohan
        28
    sivacohan  
       4 天前   ❤️ 1
    再开个项目吧!
    给 8bit MCU 移植个 Linux Kernel
    wwd179
        29
    wwd179  
       4 天前   ❤️ 1
    可能这个项目对你来说只是练习题。而不是做出来能满足自己的需求。这种事情就没那么大动力去完成。
    635925926
        30
    635925926  
       4 天前   ❤️ 1
    感觉和健身一样,短期带不了可见的效益,然后就变得索然无味了。
    Edsie
        31
    Edsie  
       4 天前   ❤️ 1
    推荐读读《驱动力》,先了解自己再改变自己,虽然有点空啊😂,但是是一个方法
    maxmeng936
        32
    maxmeng936  
       4 天前   ❤️ 2
    上班不忙的时候偷偷写。即完成了个人项目,别人还不会觉得你工作摸鱼。
    kdwnil
        33
    kdwnil  
       4 天前   ❤️ 1
    写不下去说明暂时也用不上,那这项目可以暂时砍了。这很正常,毕竟精力有限

    过段时间等到要用的时候再继续下去
    weidaizi
        34
    weidaizi  
       4 天前   ❤️ 1
    感觉满足自己需求的代码比较好维护下去,我也几十个 repo ,大部分都不再维护了,但是也有一个库,维护了快十年了,期间重构了两三次,现在还在不断的迭代更新;
    但是如果明明自己没这个需求,硬去说为了有连续上传记录来维护这个库,感觉没太必要了,强制自己去做,那太痛苦了;
    毕竟写开源代码主要还是为了快乐,不要本末倒置了 :)
    matrix1010
        35
    matrix1010  
       4 天前   ❤️ 1
    你的想法估计是: 随便写个项目玩玩,估计也没人用。写了几天又想: 写完了也没人用,懒得写了。而我在新写一个开源项目时的想法是: “Python 的 Cache 库为何烂到这种程度,最火的 cachetools 不仅 policy 很简陋,性能也糟糕。太弱了我要写一个吊打 cachetools 的” OR “Go 的 Ristretto 什么鬼,自己的 benchmark 结果都复现不了还各种吹,我要写一个更强的”。这儿的区别就是我的目标是写一个比流行方案更强的,如果我成功了宣传起来就很方便,有了用户反馈你也有动力继续改进
    levelworm
        36
    levelworm  
    OP
       4 天前 via Android
    @Haku 我之前也写过游戏,写了一半就弃疗了。也说不上碰到什么难点,反而最难的写完了,剩下的有些枯燥了。
    levelworm
        37
    levelworm  
    OP
       4 天前 via Android
    @msg7086 看了下好几位朋友都这么说,我觉得很有道理。这要是工作里能用到的轮子,才有些意思。问题是我这工作很无聊,那就得换工作了,唉,系统编程的活很难找啊,人家多半不要我。
    chesha1
        38
    chesha1  
       4 天前   ❤️ 1
    项目写到一半烂尾了,或者没做到开始前预想的状态太正常了,我有好几个是这样的

    最近一个写完整的项目是一个手游社区的自动化助手,纯自己用的,但是来了几个小的正反馈,所以又更新了几次,比如有人反馈的 bug ,还有 cf 环境更新了,我也把 nodejs compatibility 更新了,一个项目要完整写完,有外部的反馈也挺重要的
    levelworm
        39
    levelworm  
    OP
       4 天前 via Android
    @zealot0630 #27
    啊我以为大家多少都能完成几个个人项目呢。我一个也没完成,这辈子都没有啊。。。
    levelworm
        40
    levelworm  
    OP
       4 天前 via Android
    @montaro2017 #18
    你别说上班带来的困倦和无趣的确影响很大。只能怪自己水平差,去不了好的公司好的组做有意义的事情。
    levelworm
        41
    levelworm  
    OP
       4 天前 via Android
    @sivacohan #28
    哎这个思路不错。Linux 内核估计我没这水平,但是从头写一个简单的,可能就没 x86 那么多破事了。我找找什么内核比较合适。
    levelworm
        42
    levelworm  
    OP
       4 天前 via Android
    @635925926 #30
    我健身到底还在坚持,但是个人项目,从四五年前的可以基本上完成 60%,到两年前只能做 20%,到现在连开头都没做完,对自己很失望。
    mayli
        43
    mayli  
       4 天前 via Android   ❤️ 1
    规划时间 预留时间 get things done
    shiweifu
        44
    shiweifu  
       3 天前
    可以换个语言,换个框架,重新开坑
    msg7086
        45
    msg7086  
       3 天前
    @levelworm #37 不一定是工作中要用的。也可以是你自己要用的。
    我随便举个例子,你说你健身,那你可以自己写个和你健身有关的项目啊。
    总之,先要有需求,再要考虑从需求去实现。从拍脑袋开始写项目是很难有结果的。
    msg7086
        46
    msg7086  
       3 天前
    还有就是,不要局限在自己的舒适圈里找项目做。你平日做系统编程,不见得你业余项目也得写系统。可以趁这个机会玩玩别的东西啊,比如说你懂 C 的话可以去玩玩 ffmpeg 之类的项目,又或者你想学点新东西的话,学学 JavaScript 做做网站这样船新的技术栈也挺好的,或者做做手机 App 也行。选择多了去了。
    doggg
        47
    doggg  
       3 天前
    因为你看不到这件事给你带来的「收益」。尝试用投资的心态去做事情。

    - 我看好这个赛道 - 付出自己的时间学习,获得知识并成为这个领域的专家
    - “这个人值得做朋友” - 付出自己的时间/精力来结识这个人,从而获得对等的收益。
    ....

    把自己的时间/精力当成投资的本金,追求在有限的时间和精力里追求更多的收益

    - https://github.com/vm-001/lua-radix-router: 在 API Gateway 里很少看到有基于 Radix 的 Router ,而 radix 数据结构非常适合对动态路径匹配(判断),我花了两个月的时间写了这个项目(投资),后面从性能测试结果证明这个是目前开源网关里性能最快的 Router (收益)

    在钻研个人项目的同时,我建议所有人加上「判断」的阶段,不仅能让自己加大投资力度,还能放大投资收益(如果你的判断是对的)。这就是一个完整的正向反馈流程。
    jones2000
        48
    jones2000  
       3 天前
    需求整理, 结合行业竟品分析,然后软件设计,构架, 最后才是写代码, 写代码只是最后一步,也就是个体力活。
    james122333
        49
    james122333  
       3 天前 via Android
    1. 保留精力做 平时做什么都不要疲劳 拒绝 996 都是基本标准
    2. 居家风水要好 有没有外患不知 内忧必需铲除
    james122333
        50
    james122333  
       3 天前 via Android
    当然我目前都没做到 给我选一定弄好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3034 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 00:11 · PVG 08:11 · LAX 17:11 · JFK 20:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.