百科问答小站 logo
百科问答小站 font logo



程序员有必要知道为什么做某个功能吗? 第1页

  

user avatar   yao-dong-27 网友的相关建议: 
      

一个包含了产品设计和技术开发的项目,粗略得可以看成两种角色的一场合作,那就是产品经理和研发人员。

产品也好研发也好,能做好这个工作主要靠能力,能力包括知识经验和智力水平,不光要有知识和经验,做逻辑推理创新思维还是要靠智商的。

那么如果把能力抽象成为强和弱,再组合上产品研发,则可以组成四象限,也就是四种排列组合。

  1. 研发和产品能力都很强,恭喜你,这是个精英组织,高手之间的合作会非常顺畅,效率极高,产品知道自己该做什么,研发也知道为什么要做。但是这种组织非常少见,基本只出现在精英创业团队的早期,或者行业头部企业的核心部门。
  2. 研发和产品能力都很弱,那种公司恐怕命不久矣,如果没有什么特别的其它资源优势,混不了几年就会挂了,如果你判断是这种情况,赶紧跑路。

上面两种情况组合都是少数,绝大多数企业处于下面两种状态。

研发能力强或者产品能力强,大多数企业没能力维持全精英团队,只能根据自身业务情况选择保证其中一方能力强,这样的企业占大多数,而且有一方能力强也能维持一定竞争力,可以活下去,遇到行业风口可能还能发展得不错,如果运气好成为行业头部公司了,再花资源把弱项弥补一下。

在这种企业或者项目,你身为一个研发或产品就要搞清楚一件事情,这个组织里是哪种情况,是产品能力强还是研发能力强,谁强就听谁的。如果产品和研发能就这个问题达成共识,那么也能和谐相处,并且工作效率还不错。如果不能达成共识,那么其实就是一种情况,产品和研发都认为对方能力弱,而且他们两方肯定有一方的判断是对的,但是他们都认为自己的判断才是对的。互相认为对方能力强这种事是不可能发生的。

题主遇到的就是这种情况,产品研发各自都认为自己能力强而对方能力弱,不肯听从对方的意见或者按照对方的要求去做,于是闹得不愉快合作无法进行。产品认为自己能力强,研发能力弱,所以研发无需知道为什么只要照做就是了,而研发认为自己能力强,产品能力弱,所以不想按照产品的安排去执行,要有自己的想法。

合作的基础其实不是双方的判断都是正确的,而是达成共识,即使你们的判断都错了,只要错得一样也算是共识,在共识的基础上项目才能推进,在推进过程中如果发现判断错了可以调整,然后重新达成共识。

再次强调,合作的基础是共识。所以如果其中一方特别期望项目能够推进,那么可以妥协一下迁就对方,也能暂时达成共识,哪怕是虚假的临时共识,总好过存在分歧项目停滞不前。

有人举了西安的健康码的案例,其实这个例子特别有意思,这个项目能落地能上线,说明它开发期间能顺利推进,说明它的产品和研发达成了共识,显然是产品认为自己能力强,设计出来研发去执行就好,研发方也认同产品能力强自己无需过多思考只管执行就好。他们达成了共识,所以项目能推进能上线。但是最终结果表明,项目存在设计缺陷出了事故,那么说明当初产品和研发达成了一个错误的共识,并且没有在项目进行过程中纠正共识。产品认为自己能力强,但是他们没有考虑到上线后的负载并发压力,所以实际上他们能力弱。研发也错误的判断了产品的能力,而主动放弃思考,没有给出技术上的解决方案,说明研发实际上能力弱,并且也认为自己能力弱。

也就是这个案例里,实际上能力都很弱的产品和研发,在项目合作中,都认为产品能力强而研发能力弱,所以能就项目需求设计达成共识,项目顺利上线。但是实际上是个错误的共识。

能够达成共识,合作顺利,项目能上线。达成错误共识,项目最终结果很烂。


user avatar   ze.ran 网友的相关建议: 
      

对于一个负责任的程序员来说,是一定要知道的。

在需求方眼里,我要这个功能,你就说能不能写。而程序员需要考虑的是,这个功能哪部分未来可能会扩展,哪些不会变,有多少人会同时使用,响应速度下限是多少,需不需要缓存,数据一致性,对现有框架有什么影响。。。

甚至会提出一个更好的满足需求的方案,同时保持系统的简洁优美。

而不负责的程序员,完全可以不提任何问题,不了解需求背景,很快做出一个符合需求,挑不出错的功能。

但上线以后,既不能改,也不能动,用的人一多就崩溃,宕机时间还特别长。


user avatar   Ivony 网友的相关建议: 
      

首先就问题而言,没有任何必要,程序员本质上是一个翻译,将需求翻译为计算机可以理解的语言(程序设计语言)而已。

但问题在于,几乎没有任何一个需求是完备和自洽的。大多数时候这不是因为哥德尔不完备定理,毕竟能知道这个名词的产品经理都是万里挑一的,而是产品人员自身思维的局限性使得其无法发现需求中存在的问题。


就比如说提问者,就很自然的混淆了,做不了没必要做这两个截然不同的概念。而且可能永远也意识不到……


所以综上所述,程序员没有必要知道为什么要做某个功能,但是绝大多数产品经理的的专业技能无法弥补需求中存在的缺陷,需要程序员和其他专业人员的参与……


user avatar   johnnyzhu-87 网友的相关建议: 
      

场景一

老板:小伙子,给我做一个图片显示的功能,我APP上要能显示图片。

程序员:好的,老板,图片我给你放服务器渲染,再让客户端下载。

场景二

老板:大程子,给我做一个图片显示的功能,我APP上要能显示图片。这个图片是咱们城市的健康码

程序员:好的,老板,那这个图片访问量应该很大,并发量也很大,实时性要求也高。我生成图片时压缩一下,我再把整个请求流程优化,提高响应速度。老板,我建议我们升级系统配置,增加带宽,扩大集群,目前咱们这边有些特殊情况,访问量会非常巨大,对服务器和数据库的压力比以往要多几倍。并且,我们做好测试工作避免上线之后遇到问题。这可是关系到民生的大事,我会再尝试客户端渲染的方案,这样可以让服务器这边和带宽的压力减小。

老板:好,就这么干。

就多说一句话,所有的隐性需求都被充分的挖掘了出来,请问,这么做有必要吗?


user avatar   zhou-sai 网友的相关建议: 
      

我从来不管为什么做某个功能。

明明就是个搬砖的,偏偏要管整个房子的结构,真的是赚着卖白菜的钱,操着卖白粉的心。

反正需求文档下来了,我就做。如果没有需求文档,至少要有个字面大致成文的东西,否则我肯定是不开工的。不然我做完了之后表示并不需要这功能,做了个寂寞。

只要有文档,表示让我做,我就做。后面发现不需要做了,再变更任务分配,给我一个任务取消的任务。毕竟把功能去掉也是一个任务呢。至于什么修改功能的具体内容,那都是日常操作,不过修改什么东西都需要在文档中明确。如果没有文档就说明产品经理自己都没有想好要什么。自己都没有想好的情况下不要和我讲话。我只负责实现,不负责研究是否需要实现,那是产品经理、需求工程师、领导、或者我不知道的人的任务。如果需求弄的不对,反复修改,那都是上述这些人的毛病,反正不是我的毛病。但是需求交到我手里了,从技术上来看能实现,我不做,就是我的毛病。我既然拿了工资就要对得起工资,需求交到我手里我就做。即使这个做了会把全局弄崩溃,我也不管的。如果我评估局面会比较严重,我会提醒一下领导,但是如果领导依然表示做,我就会继续做。我会默默的把“该修改可能会导致XXXXX”记在小本本上,等到XXXXX发生的时候我就会帮领导回忆一下这个局面。下次我提醒的时候,领导就会更慎重的考虑一下我的建议。当然如果XXXXX没有发生,那就表明我错了,领导是对的,我就保持低调就可以了。

反正只要公司由于规划不佳导致的反复修改不至于把公司自己玩死,我就继续干。如果公司把自己玩死了我就换一个公司。


user avatar   li-yong-rui-1 网友的相关建议: 
      

一大早起来真是笑死我了。

由于老头环空前的热潮,以及B站特有的UP主靠制作视频吸引流量转直播的模式,导致很多有人气但完全没有魂系列经验的主播在播这款游戏。比如某幻、瓶子。

(就是一开始制作视频是主业,直播是兼职,甚至是乐趣兴趣,到直播为主,制作视频反倒成了兼职。这种现象在游戏区特别明显。)

这就很有节目效果了,我看几个有名气的主播,都是重复被虐,平均活不过5分钟。真正是在哪里跌倒就从哪里跌倒。

很多在我们这些老玩家看来常识性的东西,对于他们来说完全不存在的。

盾反这种就不提了(其实我也不会),连二人转、回合制、推图都不懂。在大型地牢里不想打小怪,一个劲往前跑,结果变成开火车;当着怪物的面喝药=白喝;开宝箱被怪物背刺;以为学了法术就是法爷了,结果被几只鸟打得抱头鼠窜。

然后另一边,那些原本有魂系列经验的主播,就吃了刻板印象的亏。觉得自己有技术有实力,也不练级就顺着主线硬钢。就比如一上来的野外精英太阳骑士,要么你死要么我亡,绕路是不可能绕路的。

太阳骑士都还好,毕竟王老菊都能杀。

但没有等级,没有血量,没有伤害,硬钢噩兆。

真当噩兆快慢刀是假的,自己打几次就能盾反了?而且老头环这次砍了盾反在BOSS战中的作用,要反三次(二次)才能触发处决。

结果被虐3000遍,又不好意思去练级,尬在那了。

老头环是不是玩家的盛宴我还不知道(买了游戏,昨天也预下载了,结果今天起来发现那个盘满了……正在重新下载,下载完了又发现,我的电脑只有8G内存……),但肯定是不少主播的灾难、观众的盛宴。

当然,我也知道有些主播直播受罪是搞节目效果,但我也是真看到有主播被气到下播了。

另外一点,老头环这次其实是以探索为主要玩法。

B站UP主老戴今天专门做了一期视频讲解,想要玩好、玩轻松,就是尽可能的探索地图,拿物品、刷等级。而不是走到哪杀到哪,打不过硬去打。

就比如第一个剧情BOSS前,大地图上有的是小型地牢,野外精英,要把图清完了再去打噩兆,真跟打弟弟一样。(收回我的话,40级30血20耐20敏+3打刀7瓶奶,打了7次才过。前三次就是纯背板,后三次有点贪,经常血瓶白喝,最后一次基本掌握出手时机,就硬耗过去了。)

其实魂系列游戏特别吃角色强度(等级、装备),一些小怪你一刀砍死和一刀残血,完全就是两种难度。打BOSS,你挨一下就要喝药,和挨两下才需要喝药也是两倍的差距。

不过按照这么个玩法,的确没有什么节目效果。

讲真,还真就是看那些新手主播无能狂怒最有节目效果。

至于游戏本体,如今我也的确是玩上了,总体上来说符合我的期待。

作为一个中年人,我其实是在看了老头环试玩视频后才接触魂系列的。

原因有2,一是手残反映慢,玩这种游戏非常苦手;二是,我其实不太喜欢魂系列那种压抑的黑暗风格。

但老头环作为开放世界,虽然依旧以压抑阴郁为主,但也有光明广阔的场景。比如一开始做完新手指引推门而出的那一刻。

至于在难度与操作方面,远程技能的实用化,召唤物的存在,以及跳砍与伪盾反的出现,真的能够解决很多问题。

只是看你愿不愿意当一个“卑鄙的褪色者”。

远程技能包括法术与射击。我玩的武士,初始给的长弓非常给力。尤其记得推一座城堡图的时候,一开始不清楚套路,进入城堡被满地的炸药桶与两个放火球的法师直接秒了。复活后掏出长弓,一剑封喉,解决掉法师无伤过了。

还有初期的一个地牢,一个场景墙上爬着的与左右墙角蹲着的类似地精的怪物,近战5-6刀才能砍死。

第一次去直接围殴致死。

第二次,用弓箭一只只引过来,很轻松就过了。

至于近战武器,我是非常推荐初期见完老婆就能开箱子拿到的君王大剑。

这把武器虽然攻速低,成长性也低,但在初期真的非常实用。

尤其是在跳劈方面。

这一作跳劈虽然强但也看武器,比如武士上来给的打刀就属于跳劈对空,跳起来横着劈一刀,有时候都打不到站着的怪。而大剑则是竖着往地上砸,范围极大。

我举一个例子,就是我开地图第一次遇到红灵。就是等对方打完一套跳劈就完了。

我的战斗策略就是,遇事不决,举盾防御,然后跳劈。

至于BOSS战,依旧有难度,也许跳劈和法术都没啥作用,依靠的依旧是精准的闪躲后普攻(排除盾反)。

但我觉得这算是魂系列的乐趣之一。

如果随便什么BOSS战都能逃课,那也就没意思了。




  

相关话题

  现在越来越多大学生转cs,那计算机专业会不会供大于求? 
  为什么 Windows 系统 Program Files 这个经常用来装软件的目录,名称中有个空格? 
  为什么知乎的某些问题让人看起来觉得程序员是想干就能干得好的职业呢? 
  作为程序员,你有哪些正在做的个人项目? 
  如何评价11岁编程「天才少女」万海妍? 
  对于编程思想和能力有重大提升的书有哪些? 
  为什么很多人觉得计算机专业的会修电脑? 
  编程适合女孩子学吗? 
  哪些IT大厂有不带团队的专家路线? 
  程序员夫妻结婚戒指刻什么字好? 

前一个讨论
Unix网络编程里的阻塞是在操作系统的内核态创建一个线程来死循环吗?
下一个讨论
如何评价 xmake?





© 2024-11-22 - tinynew.org. All Rights Reserved.
© 2024-11-22 - tinynew.org. 保留所有权利