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

V2EX 的前端后端们进来说说看~你们公司注意 HTML 结构么?

  •  
  •   aivier · 2016-02-18 09:23:01 +08:00 · 5431 次点击
    这是一个创建于 2983 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,

    我司后端总是乱改我们前端的 HTML 结构,例如 ul 的子元素被套上一层 div , body 标签外面放 js , button 被改成 a 标签...

    沟通过,但是后端总认为结构不重要,能显示就好了...
    昨天还把不同页面 CSS 类名搞混,让他们按照我做的样子改却答复我 "太麻烦,还要加个判断"

    66 条回复    2016-03-12 09:04:48 +08:00
    swift
        1
    swift  
       2016-02-18 09:25:30 +08:00
    所以我们模板页前端来写。有效解决这个问题。
    jasontse
        2
    jasontse  
       2016-02-18 09:27:40 +08:00 via iPad   ❤️ 1
    你司后端是不是跟前端有仇
    Keyes
        3
    Keyes  
       2016-02-18 09:28:09 +08:00 via iPhone
    我们后端不准 Push 前端代码,想做什么跟前端说前端来做统一 push.......
    Septembers
        4
    Septembers  
       2016-02-18 09:28:19 +08:00 via Android
    由于我 CSS selector 锁死了结构 所以。。。
    NaG24
        5
    NaG24  
       2016-02-18 09:30:13 +08:00
    @Septembers 怎么做的?
    FrankFang128
        6
    FrankFang128  
       2016-02-18 09:33:11 +08:00 via Android
    水平不行没办法
    Smilecc
        7
    Smilecc  
       2016-02-18 09:36:08 +08:00   ❤️ 1
    不尊重标准的程序员还有什么好评价的…
    lixm
        8
    lixm  
       2016-02-18 09:36:37 +08:00
    前后端分离吧, React 什么的,不要服务端渲染了,这样后端也轻松
    extreme
        9
    extreme  
       2016-02-18 09:39:57 +08:00
    @Smilecc 人是万物的尺度
    forsigner
        10
    forsigner  
       2016-02-18 09:41:32 +08:00
    @lixm 对,我们也是前后端分离,前后端是两个不同的 repos ,后端完全不用接触 HTML ,只看接口协议
    shulen
        11
    shulen  
       2016-02-18 09:45:23 +08:00
    我认为,改改问题不大的,不会增加你的工作量,
    dong3580
        12
    dong3580  
       2016-02-18 09:45:59 +08:00
    用你的前端后端填充数据之后,页面变形了。
    你看看是不是这个原因,
    banricho
        13
    banricho  
       2016-02-18 09:46:28 +08:00 via Android
    所以要前后端分离,前端写模板啊
    djyde
        14
    djyde  
       2016-02-18 09:51:20 +08:00
    论前后端分离的重要性
    mko0okmko0
        15
    mko0okmko0  
       2016-02-18 09:53:19 +08:00
    前后分离,完工.
    会发生这种鸟事就是因为前端居然要求后端送出已包含排版讯息的回应.
    很多次经验了,前端设计者设计主页框架后要求后端将动态或是互动的区块弄好.
    所以发生这问题有一半是前端先惹的.
    spring5413
        16
    spring5413  
       2016-02-18 09:53:43 +08:00
    论前后端分离的重要性
    tabris17
        17
    tabris17  
       2016-02-18 09:55:18 +08:00
    模板前端做就没这个问题了
    fszaer
        18
    fszaer  
       2016-02-18 10:00:17 +08:00
    论前后端分离的重要性

    正经说一下。刚去实习的时候,我用标签名乱得一笔,妥妥的被 review 时骂个狗血淋头
    learnshare
        19
    learnshare  
       2016-02-18 10:03:37 +08:00
    前后端分离,还可以帮他定义 API 结构。

    其实慢慢调教就好了。
    tyrealgray
        20
    tyrealgray  
       2016-02-18 10:07:11 +08:00
    为啥后端要帮忙写前端?
    evlos
        21
    evlos  
       2016-02-18 10:09:10 +08:00 via iPhone
    前后端分离!
    nino
        22
    nino  
       2016-02-18 10:18:45 +08:00
    前端写模版就好了
    wizardoz
        23
    wizardoz  
       2016-02-18 10:29:19 +08:00
    前后端分离啊
    zakokun
        24
    zakokun  
       2016-02-18 10:32:04 +08:00   ❤️ 1
    一想到世界上还有很多这样的程序员,我对我的职业生涯充满了信心
    pynix
        25
    pynix  
       2016-02-18 10:33:04 +08:00
    前后端分离
    lk920724
        26
    lk920724  
       2016-02-18 10:36:38 +08:00
    前后端分离嘛
    yangg
        27
    yangg  
       2016-02-18 11:16:18 +08:00
    写前端时考虑好,该用 a 还是 button ,
    样式不对,就说他用的不对,让他改过来
    admol
        28
    admol  
       2016-02-18 11:18:05 +08:00
    有时候我确实是会改...
    swirling
        29
    swirling  
       2016-02-18 11:52:21 +08:00
    我教你一手,去接手后端的 view 。
    sokis
        30
    sokis  
       2016-02-18 11:55:39 +08:00
    前端要强势点
    loveminds
        31
    loveminds  
       2016-02-18 12:11:41 +08:00
    如果是我的团队不会这样,互相插手只会变得更加糟糕
    herozzm
        32
    herozzm  
       2016-02-18 12:19:46 +08:00
    我只有遇到水平菜的前端会改,改之前会和前端通一下气,改的好的前提下,前端会服的
    Septembers
        33
    Septembers  
       2016-02-18 12:20:56 +08:00 via Android
    @NaG24 很简单 用后代选择器吧整个 DOM 路径全写进去
    lyz1990
        34
    lyz1990  
       2016-02-18 12:24:18 +08:00
    前后分离是坠吼的!!!
    bk201
        35
    bk201  
       2016-02-18 12:35:03 +08:00
    管那么多,他改你的到时候出了页面问题,你可以拿此说事,让他自己改,你乐得轻松。不提要求让你改他们自己改你不要太轻松。
    johnhsm2333
        36
    johnhsm2333  
       2016-02-18 12:40:59 +08:00
    说真的很讨厌后端去改前端的 html 结构或者是直接写 inline style 。然后出问题了还各种找前端。
    litpen
        37
    litpen  
       2016-02-18 12:47:59 +08:00
    所以还是要前后端分离呀
    eniac0001
        38
    eniac0001  
       2016-02-18 13:17:45 +08:00
    刚开始注意,维护着维护着就不知所以了~~
    codeyung
        39
    codeyung  
       2016-02-18 13:18:20 +08:00
    前后都写的人羡慕你们
    plqws
        40
    plqws  
       2016-02-18 13:24:34 +08:00
    我这边只要一编译,他们改的东西就全没啦…
    所以后端要改啥肯定要先沟通的…
    hyzjshwo
        41
    hyzjshwo  
       2016-02-18 13:29:14 +08:00
    我有个疑问,前后端分离了,数据安全怎么保证?比如用户列表,订单数据等等
    chuhemiao
        42
    chuhemiao  
       2016-02-18 14:07:48 +08:00
    改结构和代码是不靠谱的!我这边一般不会修改,改了的话以后的版本就不同步了,岂不是很蛋疼!
    BigDecimal
        43
    BigDecimal  
       2016-02-18 14:15:33 +08:00
    我想知道你们是怎么做到前后端分离的?难道动态数据全部用 JS 获取并填充到页面?
    plqws
        44
    plqws  
       2016-02-18 14:15:42 +08:00
    @hyzjshwo 分离后后端逻辑其实还是和传统的模板渲染没什么差别,只是把模板渲染的逻辑交给前端了而已,数据交互改用 json 。
    aivier
        45
    aivier  
    OP
       2016-02-18 14:31:23 +08:00
    @shulen 前端能乱改后端代码,后端代码前端改不了,乱改结构出坑让前端修
    @dong3580 当然不是,他们的理由就是懒得加一个判断...
    @mko0okmko0 你觉得 li 外面套一层 div 怪谁...
    @tyrealgray 是他们自己乱改,不是要他们改
    @yangg 人家不改咯,理由就是:不改,麻烦

    @plqws 我也写了类似的警告,可是他们不听,依然在上面改,让我接着他改完的改。。。
    @chuhemiao 确实是这样的,所以这边总是传错版本,刚改完被别人覆盖,因为除了我以外都不会 Git
    @admol 改改也没什么,乱改沟通了还不听的...
    aivier
        46
    aivier  
    OP
       2016-02-18 14:34:27 +08:00
    @swift 十多年的老代码,没有模板引擎 =。=
    @Keyes 这边没有版本控制,没有分工,都是 FTP 传文件然后后端在页面上写代码
    @Septembers 以前就是这样做的,然后被吐槽了
    xuhaoyangx
        47
    xuhaoyangx  
       2016-02-18 14:36:03 +08:00
    一般来说,后端根本不想动前段的页面。但会有『迫不得已』的情况
    根本没考虑过,数据填充上去后的显示是怎么样的。
    后端用的模版引擎,前端没按照写
    等等
    aivier
        48
    aivier  
    OP
       2016-02-18 14:40:51 +08:00
    @xuhaoyangx 前端也不想让后端碰,然而,后端十多年的 ASP 代码,没有模板引擎这种东西,所有的前端写得 HTML 都要交给后端来套代码
    jydeng
        49
    jydeng  
       2016-02-18 14:44:35 +08:00
    前后都写的人羡慕你们,偶尔兼职部署。
    xuhaoyangx
        50
    xuhaoyangx  
       2016-02-18 15:02:30 +08:00
    @aivier 前端不写好怪后端喽
    hxgdzyuyi
        51
    hxgdzyuyi  
       2016-02-18 15:12:49 +08:00
    后端水平不足
    popu111
        52
    popu111  
       2016-02-18 15:15:39 +08:00
    前后都写+1 ,虽然都渣成翔 XD ,没办法。。。穴森党表示根本找不到和我搭配的,于是我自己兼职前端后端部署运维,还要维护活动地点的网络与电脑,最后还兼职偶尔打扫卫生端茶跑腿买方便面。
    aivier
        53
    aivier  
    OP
       2016-02-18 15:17:29 +08:00
    @xuhaoyangx 不怪后端怪我咯?后端没有模板引擎,不把代码给他套代码还能怎么办,注释里都写了警告也不听,依然乱改,改的不同浏览器布局错乱怪前端
    519395527
        54
    519395527  
       2016-02-18 15:27:27 +08:00
    后端坑前端
    zgl2007dj
        55
    zgl2007dj  
       2016-02-18 15:28:31 +08:00
    @aivier 越是这种古老复杂的代码越要小心。。。保持高度的干净才能保证维护的时候不会有’牵一发动全身‘的悲剧
    mko0okmko0
        56
    mko0okmko0  
       2016-02-18 15:42:56 +08:00
    @aivier
    我现在自己单干,也是前后分离,
    然后我有需求从别人的网站或 http API 叫回别人的资料.
    我这边拉回的资料都喜欢带有前端排版代码.
    怎么办呢?拉回来的内容(html/xml/json/txt)写一个 JS 做遍例过滤.
    总之,只留下键与值,其他的排版代码或是断行都清除.交给前端填充代码工作.
    完工惹.爽.

    我最怒的是有些"画出"画面后,某些区块是给后端人员做的 PM.然后前端就说那里不关我的事.
    后端其实等于要阅读全部的前端代码,因为怕有 CSS 影响或是其他前端操作会异常.
    但这本来就不是后端的事,
    如果你不能要求 PM 后端只给键值,身为前端用 JS 过滤后端的来源变成纯键值是必要技能.
    hyzjshwo
        57
    hyzjshwo  
       2016-02-18 16:01:12 +08:00
    @plqws 不一样吧,服务端渲染有 cookie 和 session 验证啊,我理解前后端分离后,后端的 api 可以 js 调用可以 app 端调用,那我就想知道,我的权限控制和接口安全怎么保证?现在流行的做法和利弊
    lxian2
        58
    lxian2  
       2016-02-18 16:44:41 +08:00
    打一架就好了
    unknownservice
        59
    unknownservice  
       2016-02-18 17:01:20 +08:00
    模板由前端控制,后端摸不着。
    cxbig
        60
    cxbig  
       2016-02-18 17:26:22 +08:00
    我们都是前端确定 template ,后端只负责提供纯文本动态内容。
    xiaxue
        61
    xiaxue  
       2016-02-18 17:36:15 +08:00
    这个问题好赞。是不给后端碰到前端代码的。。。

    结构被搞乱了以后,前端再想改的时候,不是要死么
    elgoog1970
        62
    elgoog1970  
       2016-02-18 17:45:39 +08:00
    给前端提供接口 OK,各干各的
    pppanda
        63
    pppanda  
       2016-02-19 09:09:22 +08:00
    各司其职,各自做自己擅长的事情,前端写模板,后端关注数据接口,皆大欢喜。
    Sin
        64
    Sin  
       2016-02-19 09:32:20 +08:00
    @forsigner 请教下分两个 repo 怎么协同和联调呢
    forsigner
        65
    forsigner  
       2016-02-19 10:52:42 +08:00
    @Sin 前后端是单独的项目,单独部署上线,你把 Web 前端当成一个移动 App 就好了。
    haoc
        66
    haoc  
       2016-03-12 09:04:48 +08:00
    好奇你们有 mobile app 么?:)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2549 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 01:16 · PVG 09:16 · LAX 18:16 · JFK 21:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.