• 请不要在回答技术问题时复制粘贴 AI 生成的内容
dinggk
V2EX  ›  程序员

代码有性能问题,程序员说只管实现功能,你怎么看?

  •  
  •   dinggk · Jul 19, 2022 · 5478 views
    This topic created in 1570 days ago, the information mentioned may be changed or developed.

    最近单位买了一套 php+VUE 的软件,然后请对方进行二开,增加用户的公司信息。原先的代码中,用户登录即获取到用户信息并存入 state 。但是二开时,程序员不是在登录后即去获取用户公司信息,而是在详情页面和会员信息页面分别加入了用 api 获取数据的代码,且没有存入 state ,造成每次访问详情页和会员信息页都要重复发送不必要的请求。跟程序员探讨这个问题,程序员说只管实现功能就行了,我们前期调研中没有提到代码性能问题,他们不负责。请问大家怎么看?

    44 replies  •  2022-07-22 14:10:25 +08:00
    wenbinwu
    wenbinwu
    Jul 19, 2022
    1
    加钱让人家搞。
    需有也没提,这种东西人家实现也没问题
    ntdll
    ntdll
    Jul 19, 2022
    2
    给没给钱

    已经给钱,对方牛,你没辙
    还没给钱,你牛,对方没辙

    ---

    对方是有点无赖,但你这 show case 的时候也有点小疏忽
    westoy
    westoy
    Jul 19, 2022
    3
    他们那个方案挺好的, 你的改进方案我反而觉得是过度优化, 性能提升也未必有多少, 反而还带来一个脏数据清理的问题。 如果期间源数据改了, 你是打算怎么通知操作人员? 再搞一个长链接 broadcast 到所有操作人员机器上去清理脏数据? 如果考虑到这个长链接本身是不稳定有可能会崩掉的, 你还得去维护针对不同操作人员的不同的通知队列.......
    dinggk
    dinggk
    OP
    Jul 19, 2022
    4
    @westoy 刷新页面就好啊。
    dinggk
    dinggk
    OP
    Jul 19, 2022
    5
    @westoy 而且这个数据 99%不会变化
    zhangleshiye
    zhangleshiye
    Jul 19, 2022
    6
    没什么问题 ,没有缓存即时更新,要是有问题也是改代码麻烦。 真到了关注性能的时候,估计赚的钱也够重写代码了。。
    darkengine
    darkengine
    Jul 19, 2022
    7
    你们预估项目的 QPS 是多少,不高的话这么搞没问题
    renmu123
    renmu123
    Jul 19, 2022 via Android
    8
    只能说是实现方式不同吧,起码他避免了脏数据,扯不到性能。实在在意就用甲方身份压一压他
    karloku
    karloku
    Jul 19, 2022
    9
    有性能需求的话在采购时把性能指标提好(页面加载时间, QPS 之类的), 然后根据需求把价格谈好. 没有提出性能需求那就是只要能用, 只管实现功能.
    paradoxs
    paradoxs
    Jul 19, 2022
    10
    合同里面如果没写,那肯定不管。
    fe619742721
    fe619742721
    Jul 19, 2022❤️14
    11
    这压根就到不了性能问题这个范畴,顶多就是你看他写法不顺眼
    对乙方来说,懂点技术的甲方是最难缠的,烦的要死又不加钱

    对甲方来说,你都选择外包了,技术啥的,睁一只眼闭一只眼吧,太较真了自己也难受
    dcsuibian
    dcsuibian
    Jul 19, 2022
    12
    计算机:我可以 用户:不,你不行
    现在随便开个网站都是上百个请求,光 xhr 也有几十个。你把计算机的速度想得太弱鸡了。

    最重要的是这个请求发的合情合理,预先缓存容易有一致性问题。你打开 youtube 点下用户头像看看他发不发请求。
    billzhuang
    billzhuang
    Jul 19, 2022
    13
    这种系统都要外包二次开发,说明 OP 公司对软件本身也没啥要求。
    Jooooooooo
    Jooooooooo
    Jul 19, 2022
    14
    加钱可破.
    nightwitch
    nightwitch
    Jul 19, 2022 via Android
    15
    外包的实现甲方就不要去微操了。
    Rache1
    Rache1
    Jul 19, 2022❤️3
    16
    不怕不懂,也不怕全懂,就怕这种半懂的
    lscho
    lscho
    Jul 19, 2022 via iPhone❤️2
    17
    这种甲方就是我最讨厌的甲方类型。。。多发个请求都要管,而且人家这请求发的也还算合理。
    zhuweiyou
    zhuweiyou
    Jul 19, 2022
    18
    这个多余请求一点问题都没有
    roundgis
    roundgis
    Jul 19, 2022 via Android
    19
    對性能沒影響就行了

    你一個單位難道有幾千 qps 不成?
    T0m008
    T0m008
    Jul 19, 2022
    20
    之前没提到肯定不管,之后加钱肯定可以优化
    kappa
    kappa
    Jul 19, 2022❤️1
    21
    > 刷新页面就好啊。
    > 而且这个数据 99%不会变化

    有经验的来看看,平常产品经理提需求是不是都这么说的
    ShuA1
    ShuA1
    Jul 19, 2022
    22
    自己反向代理加一层这个 api 的 cache
    ytmsdy
    ytmsdy
    Jul 19, 2022
    23
    So what ?!你应用的访问量会以为这点没优化,导致整个程序奔溃么?
    如果会,要求改也是合情合理。如果不会,那就睁一只眼闭一只眼吧,又不是不能用对吧?
    luob
    luob
    Jul 19, 2022
    24
    改个逻辑当然不是什么问题,举手之劳而已,我认为对方主要是担心明天你会不会又有了新的要求

    代码有格式问题,缩进都是两个空格,要求用 4 个空格但是我们前期调研中没有提到空格问题,他们不负责。请问大家怎么看?
    变量名起得不够优雅,我要求一个一个查词典把名字改了但是我们前期调研中没有提到变量名问题,他们不负责。请问大家怎么看?
    听说 php 不是世界上最好的语言了,想让程序员换 java 但是我们前期调研中没有提到语言问题,他们不负责。请问大家怎么看?

    你如何让别人相信你不会继续提出这三个问题,如果你能证明,那显然这个问题是非常好解决的。如果你没办法保证,一旦开了这个口子,就准备扯皮到 2077 年吧
    microxiaoxiao
    microxiaoxiao
    Jul 19, 2022
    25
    看描述也不算性能问题,是你觉得那样更优雅的感觉或者错觉。
    ericls
    ericls
    Jul 19, 2022 via iPhone
    26
    性能问题都是商业模式问题
    fpure
    fpure
    Jul 20, 2022
    27
    缓存需要考虑一致性的问题,反而麻烦
    MEIerer
    MEIerer
    Jul 20, 2022 via Android
    28
    前期没有这个性能要求的话,人家不考虑就不考虑呗
    F281M6Dh8DXpD1g2
    F281M6Dh8DXpD1g2
    Jul 20, 2022 via iPhone
    29
    这实现毫无问题,有性能瓶颈也不会是这
    ryougifujino
    ryougifujino
    Jul 20, 2022
    30
    別人的这个实现方式根本就没问题。
    yedanten
    yedanten
    Jul 20, 2022 via Android
    31
    前期没谈实现细节,现在东西做完了来说,确实你不占理,如果实现了之前谈好的效果,这时候突然有要求其他的东西,无论是大的需求变更还是小的实现方式,这不就是最恶心的甲方做法嘛,鬼知道后续还有没有新的需求变化。
    charlie21
    charlie21
    Jul 20, 2022 via iPhone
    32
    你遇到骗子公司了

    在这一单过后再也不与之合作

    二次开发公司有的是,不需要在这一棵树上吊死
    realpg
    realpg
    Jul 20, 2022
    33
    世界加钱可及

    你评估一下你们给的钱是不是要求对方写个高性能系统
    外包的性能需求就算合同没明确,也初步双方进行一个约定
    如果没约定,那就是功能实现,不一个请求卡半天就好

    没有约定的,如果一个请求卡一秒,复杂数据库请求卡两秒,那有点说不过去

    而你这个案例,我觉得你花的价码应该不是高性能选手的价

    高手写代码自带优化,不需要刻意设计,自然而然就代入性能问题.

    下次找贵的公司,给钱超过市场价二倍,1 万 QPS 起步
    ericgui
    ericgui
    Jul 20, 2022
    34
    你别想多了

    99%的项目在倒闭之前不需要考虑性能问题

    剩下 1%,在融资到 A 轮之前,也不需要考虑性能问题。
    rb6221
    rb6221
    Jul 20, 2022 via iPhone
    35
    有个段子,项目经理要求这里 sleep3 秒以便后期让客户加钱优化性能.jpg
    这种事现实中并不是不会发生的
    wangkun025
    wangkun025
    Jul 20, 2022
    36
    弱弱支持下对方。
    akira
    akira
    Jul 20, 2022
    37
    1. 性能问题的话,需要有明确的指标的呀, 例如因为多了这 2 个 API 接口调用,导致页面加载多了几秒,服务器在多少用户的情况下,CPU 、内存、数据库分别负荷高了多少 。 如果实施什么方案 预计实施方案后对应指标可以优化到多少。

    2. 外包开发是需要提前做约定的。这个性能问题在约定的范围内么,如果不在的话,是否有书面形式的需求变更要求并有相关甲方负责人签字。 都没有 人家凭啥给你做。
    akira
    akira
    Jul 20, 2022
    38
    以后找外包,记得写上技术指标要求,例如所有页面的响应时间必须小于多少秒,必须支持多少并发
    yogogo
    yogogo
    Jul 20, 2022
    39
    得加钱
    zr8657
    zr8657
    Jul 20, 2022
    40
    你不说价格和乙方出了多少人大伙能怎么看?
    乙方公司是不是靠关系拿到的项目、项目体量多大、项目大体金额等等这些才是核心因素,而不是这几个该死的接口
    wu67
    wu67
    Jul 20, 2022❤️1
    41
    讲真, 你管人家怎么实现啊...你要关注的是这个页面的响应时间、从跳转到 load 完页面的时间, 这才叫性能问题. 同理如果他多调的接口卡了页面多久多久, 能让你明显感知到, 那才叫性能问题, 如果感知不到明显差距, 那你不是瞎操心么
    gulullu
    gulullu
    Jul 20, 2022
    42
    难缠的甲方。
    m319
    m319
    Jul 21, 2022
    43
    性能问题应当由程序员负责处理,但你这个案例里这么点开销在规模不是特别大的情况下对性能的影响微乎其微,这东西改起来还麻烦,这种费时费力又收效甚微的事情是没人乐意干的
    ThreeK
    ThreeK
    Jul 22, 2022
    44
    老哥就发个请求啊,这你管啥,谁不烦事 B 啊。百度、google 就一个输入框你看看有多少请求。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1386 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 100ms · UTC 22:05 · PVG 06:05 · LAX 14:05 · JFK 17:05
    ♥ Do have faith in what you're doing.