Soft_Job 板


LINE

大概提一些个人觉得有用的观念, 可以做的方向以及建议顺序 一些个人觉得蛮有用的观念, 写在前面 * 聚焦在目的, 而不是工具/方法/手段 打个简单的比方, 做出好吃的料理是目的, 而用什麽器具、料理方法、调味方式是手段, 具焦在用的器具或调味品或许能让你找到最棒的锅子 (?) 跟调味料之类的, 但另一方面也可能让你一旦没有那特定的锅子可用就成了料理白痴 反之具焦在做出好吃的料理, 思维上就会是 "有哪些工具/哪些材料的前提下, 如何能做出好吃的料理" 也会促使你研究、实践各种手段来试着达到该目的, 并反思优/劣/利/弊/能如何再改善调整等, 多加上反思会更能进步 * 凡是都有代价 有这个观念, 你就不容易只是停留在 "用工具/方法/手段" 的阶段, 它会促使你学一样新东西时, 主动搜寻 XXX advantages/disadvantages/drawbacks XXX vs OOO XXX OOO tips XXX best practice 然後认真仔细地看上二三十篇文章, 去了解它的好与坏, 这让你在学东西的广度与深度上能有很大的改善 比如说 SRP 你可能就会找到这个 https://sklivvz.com/posts/i-dont-love-the-single-responsibility-principle 然後就可以看一看, 想一想, 再吸收成自己的东西 然後是一些能精进的方向 * 让程式易读、易改、容易扩充、不容易改东坏西 这部份就是你目前有在嚐试的 OOP/SOLID, 刚开始这就很够了, 前面有人推的 Clean Code 跟 Clean Architecture 也可以看看, ref: https://www.tenlong.com.tw/products/9789862017050 https://www.tenlong.com.tw/products/9789864342945 https://www.books.com.tw/products/0010579897 https://www.books.com.tw/products/0010786994 网路上还找得到有人对 Clean Code 做的重点整理 ref: http://gitqwerty777.github.io/cleancode/ 其它像 KISS, Composition over inheritance, convention over configuration 也都是简单又好用的一些原则 ref: https://bit.ly/2WoLIPI , https://tw.twincl.com/programming/*662v , https://bit.ly/316hYFO 另外可以学一下设计模试, 像 深入浅出-设计模式、 重构--向范式前进 都是不错的书, ref: https://www.tenlong.com.tw/products/9789867794529 https://www.books.com.tw/products/0010309237 https://www.books.com.tw/products/0010399556 不过要注意, 目的是 让程式易读、易改、容易扩充、不容易改东坏西, 而 OOP/SOLID 其它原则和模式等则是 工具/方法/手段, 要时时注意使用它们有没有什麽代价, 是不是过了某个界线就会让代价大於好处, 以免为了贯彻手段而忘了目的 * 让程式效能好,执行速度快、使用的资源少 这部份说来很多很杂 首先 OS 是要的, 不用全部很熟, 但最少有一些基本知识, 例如速度是硬碟 < 记忆体, 记忆体不足会引发 Thrashing Process 吃的资源比 Thread 多, 多 Thread 对 IO bound 比对 CPU bound 的问题有效果 存取同一变数需要处理锁定问题等 然後资料结构跟演算法是必要的, 这部份虽然不用急着补, 但补越多效果就越好, 最开始先知道 Array/List/Linked List/Queue/HashSet/HashMap 等的差异 就会有不少的帮助, 推荐经典教科书 Introduction to Algorithms https://www.tenlong.com.tw/products/9780262033848 https://www.books.com.tw/products/F011708546 其它比较杂、需要了解後端程式以外的部份 像了解使用的语言/框架的资源耗用状况, 了解使用的伺服器对应不同的负载情形该如何设定, 这在不同语言/伺服器会不同, 例如 nodejs/nginx 和 Java/JBoss 就差很大 了解资料库的运作也会有帮助, 能协助你规划哪些事情由程式处理, 哪些靠 SQL 解决, 如何能尽量减少 lock 等等 对前端的认识也会有帮助, 能协助你决定流程该如何切分, 哪些事可以在使用者操作途中处理等等 不过以上这些有点杂, 可以放比较後面 * 让程式容易布署、设定 例如用设定档或 DB 开设定的 table 而不要程式写死, 读档时设法使用通用的方式等, 例如 JAVA 包成 jar, 包成 war 跟跑在 IDE 能用的资源读取方式会有差异 这部份留意一下你的程式会更容易应用在多种情境, 而不会换个 package 形式就各种跳 error 这也是不急, 有空再了解就好 * 让程式容易验证、除错 这有几个部份, 适当的 Exception handle 方式, 不要随便自己 catch 掉, 并设法让 error log 有足够的资讯且容易查阅, 自动测试则能让你经常测, 早期发现问题较容易修, 对容器、CI/CD、shell/batch script 的熟悉 则能让你容易布署整个测试环境做整合测试 初期先以 log 及 unit test 为主就很够能改进很多了, 有空再往下摸 * 能更好的和不同职能的人沟通 这部份就只能靠多了解其它部份的相关知识, 多了解领域知识, 就能更好的和 SA/SD 沟通, 更了解前端或机器/系统, 就能更好的和前端工程师或维运人员沟通, 也对开发及查问题有帮助, 比方前後端怎麽分工, 哪些前端处理哪些後端做, 没反应是不是前端就没送, 连不到请维运开一下防火墙, 一直挂是不是清硬碟的排程没有跑或实体机器资源不够等等 建议顺序 大至上就是 前置少, 影响大的优先, 前置多, 影响较小的放後面, 但也不必一个学完才学另一个, 可以并行, 看个人取舍 OOP/SOLID 及各种其它原则等 前置: 使用的语言的基础 影响层面: 大, 影响到日常开发、效能调整、测试除错等各个层面 需要时间: 极长, 基本上等同於你的开发生涯, 会不断在不同情境下有不同的想法, 持续修正 unit test 前置: 使用的语言的基础, unit test 工具 影响层面: 大, 做各种修改时可以更放心大胆的改, 改完後几秒内知道有哪里坏掉 需要时间: 短, 基本上有固定套路 设计模试 前置: 使用的语言的基础, 及一些较进阶的语法 影响层面: 大, 影响到日常开发、效能调整、测试除错等各个层面, 需要时间: 极长, 基本上等同於你的开发生涯, 会不断在不同情境下有不同的想法, 持续修正 OS 前置: 无 影响层面: 中, 主要是对效能调整及除错有帮助 需要时间: 长, 很多东西一下子可能不太能理解, 建议记录下来後先略过, 时不时再回头重看及查资料 不必非要搞清楚後才继续, 快速增加能吸收的东西比较重要 资料结构跟演算法 前置: 基本逻辑, 一些些基本数学 影响层面: 大, 除了效能, 也影响架构程式及整体系统的能力 需要时间: 极长, 基本上等同於你的开发生涯, 会不断在不同情境下有不同的想法, 持续修正 容器、CI/CD、shell/batch script 前置: 一些些基本命令列指令, 基本 OS 操作 影响层面: 中, 主要是布署与测试的部份, 需要时间: 中, 基本操作可以很快上手, 建议可以先挑一组工具学会使用, 之後再慢慢补上其它相关知识 ※ 引述《csjs87 (思念的季节)》之铭言: : 各位年薪三百万的大神们好,小弟不才又上来请益了。一年前为了选择资策会的课程在版上发了问,有幸获得许多人的回覆。 : 从资策会毕业、顺利找到工作也一阵子了,现在月薪37k,主要是协助开发後端。但我碰到一些对於自己不足的地方,想再次请教各位。 : 一、 : 因为公司没有一套完整的教育训练或是架构的教学,所以即使我有尝试在我负责做的小工具、api中尽量使用"我认为的oop观念"、"solid的开发原则"。但还是不晓得是否正确,同事们大多也都很资浅,加上没有太多时间帮我看(专案忙)。我要怎麽检视自己的code是良好、容易维护的呢? : 二、 : 偶尔会看版上或是104徵才需要什麽样的能力,为将来不管跳槽或是谈薪水更有筹码。我印象中常看到的有云端架设相关(aws、azure)、程式设计上(单元测试、graph api)、其他(CI/CD、Docker容器、TDD)。虽然都有查过也大致知道是什麽,但也仅此而已,更不晓得知识还很浅薄的我有没有误会什麽。 : 三、 : 最後是一些比较底层的资料结构、计算机概论这类都几乎是0知识。虽然计概有自己看台大开放课程的计算机概论,是多少有学到一些,但又好像不是我现在急迫必要的知识。听说资工有本圣经恐龙本,看过目录发现,很多都是我常常看到的陌生词汇。I/O、thread、Process等等,我觉得好像不看懂这些我就很难更精进。 : 其实我本身不是“非常”热爱写程式的人,我会在写code的时候为解出bug感到开心,也会边骑车边想程式的事,看到好像很神奇的新技术新闻也会很兴奋,也想做side project,想使用新知识。但到了休假日,也很少真的着手进行。 : 总之我现在稍微有点迷惘,对於程式这条路我觉得我才刚起步,也不想离开。但学海无涯,光上面就太多东西要学。 : 根据我自己的感觉,只知道自己暂时还不太想钻研前端。而对於我上面提到的各种知识,能怎麽安排、规划比较好?谢谢大家。 : ----- : Sent from JPTT on my Sony G8142. --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.227.154.169 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1559708280.A.C11.html
1F:推 NAVYmaker: 感谢大大 06/05 12:24
2F:→ MOONY135: 最近是怎样 U值文大喷发 06/05 12:41
大概大家看到想精进的人都很兴奋 XD
3F:推 devilkool: 感谢分享 06/05 12:42
4F:推 oceanblue21: 推 讲的很详细!! 06/05 12:52
5F:推 b81314: 这篇赞 06/05 13:33
6F:推 expup: 大推 你人真的非常好 06/05 14:22
看情况, 只能说人都有不只一种面貌 @@
7F:推 v9290026: 推推 06/05 14:36
8F:推 jeremy616: 好文推 06/05 16:56
9F:推 cz75: 谢谢大大,提供好的文让软工版起飞QQ 06/05 19:45
10F:→ lwtech: 不要再躲了,快去自首,你就是凶手。 06/05 22:27
对不起我承认桌上的铜锣烧是我吃晫的 QQ
11F:推 genius945: 推 帮找个错字 exception 那边应该 cache => catch 06/05 22:41
已改 0rz
12F:推 genie920: 推推,真的谢谢你的分享! 06/06 00:13
13F:推 umum29: 推 06/06 00:36
14F:推 frankshih: 近期真的U值文连发,给推 06/06 07:10
15F:推 molopo: 好文 06/06 07:55
16F:推 showken: 好文 谢谢分享 06/06 09:42
17F:推 IamTD: 赞 06/06 09:52
18F:推 qwe85158: 推 06/06 10:38
19F:推 aliasber66: 好文推推 06/06 11:50
20F:推 LinNine: 推! 谢谢你的分享 06/06 12:41
21F:推 cocoyan: 推 06/06 17:16
22F:→ jack42107: 还是鼓励大家支持天珑书局啦 06/07 15:35
补上天珑连结
23F:推 jack42107: CD完了 补推 06/07 15:47
24F:推 kasimEnix: 软工需要更多的优文! 06/07 19:01
25F:推 jlshoo: 推个 06/08 13:38
26F:推 boy955403: 推推 感谢大大分享 06/08 18:18
※ 编辑: lovdkkkk (36.226.172.204 台湾), 06/09/2019 11:20:53
27F:推 king4647: 推 06/10 13:47
28F:推 mirror0227: 实用推 06/11 13:22
29F:推 vincentbiao: 推用心,感谢大大 06/11 22:25
30F:推 games5602: 推 06/14 14:23
31F:推 nicks0904: 推好文 07/04 20:38
32F:推 cotbel: 推优质好文 07/09 23:15
33F:推 ccnancy: 谢谢分享请收下我的膝盖 04/23 11:35
34F:推 papple23g: 推 内文很多都是痛过才知道重要qq 08/16 05:03







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灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP