百科问答小站 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战都能逃课,那也就没意思了。




  

相关话题

  现在为什么 Python 这么火? 
  未来会不会出现这样的编程语言? 
  为什么一些程序员很傲慢? 
  你认为程序员从幼稚到成熟的过程是什么? 
  半路学编程,可以成为大牛吗? 
  突然想开一家程序员主题的餐馆,名字就叫程序员的菜,菜名就叫各种语言中的关键字,各位指点一哈,有前途没? 
  长期做程序员会有什么烦恼? 
  面试题目很简单,但还是被拒了。如何询问真正原因? 
  在中国程序员工作是青春饭吗? 
  既然有 memcpy_s 这种安全实现,为啥不禁用危险的 memcpy 或者更新 memcpy 源码? 

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





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