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

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

  •  
  •   levelworm · 21 天前 via Android · 3660 次点击

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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