Soft_Job 板


LINE

小弟目前刚好也是在一家新创工作,coding资历不满一年 公司刚好也是用 JS开发,刚好可以来分享个经验 ※ 引述《wandallin (万大林)》之铭言: : 1. PR要merge的时候做Squash,因为这样git tree比较好看 个人习惯问题?我一开始也是通通commit上去,後来发现很丑 所以才逐渐会用 squash 整合commit 不过用 squash 後就会开始思考:哪些 commit 该留哪些不该留 很多就只是暂存用的 commit 或者是多余的 commit commit 上去根本只是干扰追踪程式演变 所以个人是认为说 git tree 好看不好看,应该不是你们讨论的点 如果真的要好看的话,那push上去之前通通squash成一行 commit 或者只留下 merge XXXX,可是这有意义吗 囧 所以说这其实是开发者之间沟通好就可以 : 2. function超过一百行,就想要拆出来 一个函数 >100 行就想要拆出来,这完全是我的写照 理由就是可以拆成一个最小工作单元好维护、好规模化 甚至你要重复程式码也很好复制贴上(误 写成一个两三百行的code,要重复利用就需要花点时间 不过这基本上是在写code阶段就可以决定的了 例如这个函数有5个步骤,每个步骤可能可以各自写成工作单元 所以我常常被主管念说拆太小了(遮脸) 我刚看一下我的函数蛮少超过 100 行,很多都在50行内就解决了 另一个类似问题就是每行字数,像我们前端就是约定好每行不超过80 不过後端工程师他们有各自的习惯,所以在後端code就是120 : 3. 完全遵照eslint的规范,任何warning都不能出现 eslint是个好东西! 但eslint要注意的是,他每个规则不是强制性的 而是要按造开发习惯,去客制化自己的规则 比方说他有些规则是 prefer-destructuring, prefer-template 这种 老实说真的要用解构或者用template字串吗...? 并且当你用 eslint 这种静态程式码检查工具, 他的用意就是提醒目前的code没有遵守你预先设定的规则 所以这些 warning, error 就是告诉你违反了自己设定的规则 如果不想修这些 warning 或者 error 那就是应该把他从code里面 用 /* eslint-disable XXX */ 或者从 eslintrc 里面把规则移除,或者放大绝 yarn remove eslint XDD 其实问题并不是在 eslint ,而是团队间怎麽沟通这个规则吧 : 4. 时常想回去重构程式 : 5. 想把所有非同步的function都改成promise 其实这两点是一样的:重构程式 重构程式是个良好的习惯,他在改善旧有的程式码 增加程式可读性、可维护性 例如打开 legacy code,有时候真的是要边写测试边重构 才能把需要的新功能加上去... 但个人是觉得有时候重构要看时间 如果现在要开发一个新功能, 然後同事在那边说:没空,我手上程式还没重构完 你或者老板你应该会想掐死他 更何况新创生死存亡都在一瞬间了XD... 有些技术债就等活着的时候再来还了 : 6. 想导入TDD以及jest,让系统减少错误发生机率(目前没人会这东西) 这点我有深刻体验,我们前端没有很严谨的测试 所以有次我 push master 结果上线後整个网站死掉 幸好我们有完整的ci/cd,很快就rollback 到前一个版本 我一整个吓到漏尿,我後来就补上一些可以很快检查出错误的测试 经过那次惨痛经验後,基本上能写测试的我都会写测试 除了增加程式信心度,同时也可以去思考哪些是预期行为哪些不是 不过有时候新功能要紧,所以通常都是写核心功能的测试 剩下的再慢慢补上去 : 7. 注解尽量删除,只留jsdoc,减少封装程式码 jsdoc是个好东西,提示参数资料型别非常好用 注解要不要写要不要留,真的是见仁见智 我们目前注解都是用来做注意事项或者todo 至於用减少封装程式码来说删除注解... 现在 js 在 production 环境应该都有用封装的程式,例如 webpack 就可以直接用 uglifyjs 去把程式码的注解全部移掉还帮你最小化 这方面有现有的套件帮你做掉了XD 所以其实看一下... 很多都内化成平常的习惯了 哈哈 不过这种开发守则,要不要遵守就是看你们公司了~ 大不了就是技术债而已XD 不过新创公司能不能还技术债还是问题呢 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.161.237.91
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1524588404.A.4A4.html
1F:推 ernieyang09: 直觉也是第七点根本没差 04/25 01:11
2F:→ deray: 良币 04/25 12:29







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job 或 站内搜寻

TOP