工作中免不了屎山,特别是国内所谓的敏捷开发屎山写多了,担心自己变成屎山思维,你会不会想自己做个不屎山的业余项目时间被公司榨干的人应该没空考虑

屎山是规律, 哪怕只有你一个人的项目, 代码量上来了一样是屎山能在模块边界处隔离屎山已经是一个非常好的框架了 (方便替换与重构)高内聚, 低耦合. 内聚的地方屎就屎吧, 先做出来, 如果还有精力优化再说过来人的经验

没那个精力, 一天对着电脑 8 个多小时之后, 下班时我的狗眼已经块睁不开了, 更别说写自己的项目.

上班认真吧,下班就没精力搞这些,人的精力总是有限的;上班不认真吧,下班有精力搞自己的东西,但是现在这大环境内心总是觉得忙一点稳,会有点恐惧

屎山是每个项目的终点不管是个人还是工作项目(

质疑屎山,理解屎山,成为屎山。

所以我选择上班认真搞自己的东西(doge

凡人老,就会死,化为黄土一抔。代码旧,将腐化,聚成屎山一座。没有什么精妙的设计敌得过一句:"时代变了,大人!",也即是:"食大便了,码农!"。

项目如果不进行持续不间断的重构的话,是一定会变成屎山的,不是说你最开始抱着不写屎山代码的要求就不会变成屎山的,大部分时候重构又没有绩效,除了好维护,和修改成本底,所以屎山是每个项目的必经之路

业余时间带娃;不搞这些。😁

你以为代码屎山是谁写出来的?

以前空闲时间多,确实用自己的业余时间在自己的环境下做了点尝试,所以我才有了这个网站

会。我最近打算用新语言改写一个开源项目,其中一个目的就是实验各种理论,例如现代语言特性在实际工程中有多大帮助。如果不实际试试,怎么知道哪些问题是人为造成的,是有解决方法的。我之前在一个公司里陷入了习得性无助状态,那里很多问题过了两年都没改善,换个环境后才发现问题是可以解决的。

不要太自信。

不会,我业余项目也是屎山。

你看动物世界里面,狮子都用排泄物标记领地。归根结底,人不过对他人的气味尤其感到恶心罢了。

刚入行时我觉得写的每一行代码都要追求完美,干了几年后,去 TM 的,赶紧写完下班!年龄大了哪天失业还不知道呢,满脑子都是失业后怎么搞钱!

代码能跑就行,我已经没有精力去写优雅的代码了 😁

卧槽,你说出了我的心声,知己呀

当然有,维护好多年了,也赚了不少

我现在就处在 "写的每一行代码都要追求完美"这个阶段,但是国内的敏捷开发遍地开花,一度搞得有点抑郁

写出来没收益

自己的项目没人帮你 Review ,更屎山,特别是命名,心情好的时候用狗的名字命名都没问题,两个月一看不知道自己写了啥

业余和我一起搞独立产品吧,注重代码质量和可维护性 React + Golang + PostgreSQL

有个自己写的开源业余项目,写了一年多,已经是屎山了,到处都是 "TODO: 待优化" 的注释

写个人项目只是个自我实现罢了,跟工作屎不屎关系不大,另外个人项目纯粹靠热情,热情来自生活状态,没有就算了

刚毕业的前两年,简直无法理解屎山代码,但是它确实能跑起来且产出报告。慢慢的发现自己无法容忍屎山,看着真 ™ 的难受。开始每天高强度重构屎山框架、屎山代码 (非领导要求,处于本能的优化)。再慢慢的发现,完全没有那么多的时间精力搞了,就算搞好了看的舒心了,在领导看来,它不还是那样,有啥区别???嗯,没毛病,既然这样,就理解屎山(没办法做到自己的代码成为屎山,就理解一下别人在项目紧张的情况下写好的屎山)

屎山是大部分软件工程的必然结果,而工程师们要做的是尽量延缓 codebase 变屎山的速度,在可维护性与交付效率之间取得平衡。可以说,这也是工程师的核心竞争力之一。需要有良好的代码规范,及时的重构,科学的团队管理。

但是我的业余项目也挺屎山的。

不会,正如我每次工作中遇到 xx ,感慨自己以后一定要系统学一下,实际就是项目完了,再也没多看一眼

杀一人为罪,杀万人为雄,杀百万为雄中雄当屎山堆到一定程度 我觉得就不应该成为屎山了 他已经形成一种风格 一种规则了

当你想着以后再解决的时候,大概率以后就这样了

除开业务变更的问题,我能保证不屎,但同事不行。个人项目只要还在维护就不可能屎(自己的需求也不会瞎变)。另外说个暴论:敏捷就是屎。谁还记得软件开发有软件设计这一环?或许现代语言越来越不注重面向对象,越来越函数化,就是一种无声的抗争。

是什么让你觉得你自己写就不是屎山?当你厌恶别人的代码的时候,别人同样也在厌恶你,一般情况都是这样的。

敏捷或不敏捷取决于行业需求, 工业软件不会寻求敏捷,因为他们的需求更恒定,更稳定,且要求性能强 鲁棒性好,所以工业类软件一般都是干一把好多年,一用用个十多年。 互联网能这么搞么? 显然不行的。 选择什么开发模式只取决于你的客户需求。开发重要不重要呢, 其实开发在老板那没有那么重要,能带来需求的人更重要。 比如 销售。

定制化严重,个人不适合。

上班搞自己的东西,法律意义上版权归老板。上班只适合摸鱼

屎山是无规范无管理、分工不明确、需求快速变更迭代的实体表现。无论是个人,还是团队,最后都大多难逃这一点。

一个人开发 [袋鼠数据库工具] 五年了,代码超 10W 行,由于功能迭代较快,不断在升级和进化,历史遗留情况越来越多,已经有屎山的既视感了; github.com/dbkangaroo/kangaroo一个人的项目况且如此,多人参与的项目可想而知更加复杂和屎山化;一个业务生命力越长,功能特性越多,参与的人越多,屎山化是必然,没有银弹;必须不断重构和解耦。

只能减慢屎山的速度,各类需求一多,代码就很容易腐化

兄弟们,要有董存瑞的牺牲精神,勇敢的向屎山进军,哈哈哈哈哈哈

那只是个人暴论,不必深究。软件设计在实际中(尤其国内),确实一点都不重要

我写自己的项目会花很多时间来优化和重构,和实现新功能一样重要。工作时屎山已经品尝够多了,在自己的项目里呼吸一下新鲜空气

就算自己的代码,刚开始写得很规范,到最后有些不会,妥协了,就屎山了。

经典的倒排期导致我不得不写屎山代码

绝大部分程序员,认真写也是屎山。能力不够,你懂吧?

业余和我一起搞独立产品吧,注重代码质量和可维护性 flutter+ Golang(go nunu) + mysql

不是不重要,这个是要看需求的。 正儿八经的工业软件都是需要非常良好的设计才行的, 不然制造业可是不买账的,三天两头做更新,修 bug 修着修着公司就给修没了。 至于 C 端的需求,则没有那么紧要了,所以所谓 OTA 天天打补丁就经常见了。 最大的转变的典型就是微软的 windows windows 在 8.1 版本之前,c 端的稳定性也是足够的,因为测试的非常充分,鲍尔默时代对软件质量是有追求的, 咖喱佬上来之后,就不再重视 C 端体验了,靠不断地刷版本打 patch 去修复一些本可以不需要出现的 bug 和问题。 C 端的需求是不怎么被重视的,当然未来可能会所改变。

随着时间的拉长,项目的扩展,最终都会走向屎山,公司项目一开始也不是屎啊

只要和业务相关的,如果业务的走向是一个曲折路线,是必然的,技术人应该更多的是用技术实现需求,做好前期的架构设计

业余继续工作吗?还是业余和工作不区分?

真相了

开始时是想着控制,越写越控制不了靠近屎山

只打算自己做个赚钱的业余项目,管它屎山不屎山

那屎山不就是自己堆的么 哈哈

东西多了,没有整理就变屎山罢了

自己写的屎山,难道也要抱怨吗?别人写的可能会吧。

没时间,要有时间我也不会堆屎了。

没时间

没啥用,敏捷开发就别想保证代码质量了

屎山挺好的 说明业务更迭多 不会轻易放弃

写着写着发现最后都是屎山

自己项目写的就没有屎山了?所谓屎山无非就是理想和现实的妥协,不用太纠结吧,设计的时候设计好点能缓解一些。

人是不可能一辈子不写屎山的,你做这个项目的意义是什么呢,为了证明自己?真没必要想想你用着写屎山赚来的钱维持生活,是不是有种被骑在头上的感觉。当然,这是建立在你极度想要逃离屎山的基础上。如果你没有逃离的想法,那生活依然美好。所以,放弃挣扎吧

我在维护一堆屎山,都快把我的开发热情干没了

不会,因为会发现自己业余写得项目更屎山!