工作两个月,请问如何提高项目设计、代码架构方面的知识

2020-09-17 16:12:36 +08:00
 abgnwl

rt,入职之后,可以在同事的指导下开展工作了。 但是一些代码的设计,每个模块具体做什么用,为什么要这么分模块,模块间交互传递什么变量什么信息,这种不知道如何了解。

感觉像软件工程的知识,可能还带有一点设计模式、领域驱动设计,这种知识怎么了解比较好呢?有没有推荐的书,谢谢各位大佬

2668 次点击
所在节点    程序员
17 条回复
beyondye
2020-09-17 16:18:40 +08:00
先写好业务代码
frandy
2020-09-17 16:23:25 +08:00
多看开源项目的代码,关注 infoq 上的一些工程师的分享。
先学习设计模式,领域驱动设计不要看,一般性的工程项目真的用不到。
coderxy
2020-09-17 16:26:53 +08:00
反对楼上、 恰恰是做到架构级设计模式的优势才体现出来。怎么能不看呢。。 领域驱动很多公司已经在用了,DDD 大名鼎鼎都不看?
mightofcode
2020-09-17 16:30:07 +08:00
你以为你的同事懂
其实不然
abgnwl
2020-09-17 17:52:35 +08:00
@mightofcode 哈哈哈哈哈
abgnwl
2020-09-17 17:53:04 +08:00
@beyondye 先做好搬砖工,后面写的多看得多了可能慢慢就懂了
chaleaoch
2020-09-17 17:58:49 +08:00
@abgnwl 正解. 理论的东西 想得太多也没用. 多敲就回了.
kidlj
2020-09-17 18:11:28 +08:00
多上 InfoQ
wleexi
2020-09-17 19:25:23 +08:00
程序员修炼之道 /架构整洁之道
statement
2020-09-17 19:32:35 +08:00
infoq 广告贴吗。csdn 一个水平
dustinth
2020-09-17 19:35:35 +08:00
架构经验是慢慢积累的, 作为新人, 我觉得关注点还是多琢磨怎么写好代码上面. 先把自己用的程序设计语言相关的书看上至少两本, 一本包含所有知识点(不是为了用到所有的犄角旮旯都用到,为了看懂别人的代码), 一本包含进阶, 类似 effective java 之类的书;
了解项目用到的框架, 如果是 java 的话, 比如 pro spring, pro spring boot, High-Performance Java Persistence
然后就是怎么整体写好代码的书, 比如 clean code, clean coder, code complete (还有很多)
架构上主要还是多思考, 多看看别人的架构. 书的话也有很多, clean architecture, patterns of enterprise application, design data intensive applications, building microservices
读完书多实践, 为自己每一行代码, 每个架构决策都能找到这样写和这样决策的理由.
abgnwl
2020-09-17 20:44:58 +08:00
@dustinth 多谢大佬
kangsheng9527
2020-09-17 21:08:17 +08:00
web api,rpc+protobuf 、mq 、redis 、自身存储管理等
js8510
2020-09-18 07:40:00 +08:00
刚工作的时候我也有这样的焦虑。也尝试去看书,看 papper, 看 tech blog 。 有些东西确实是有用的, 但是时间久了发现这样效率并不高。后来慢慢的发现自己能很自信的领域其实都是自己代码写的最多的领域。发现问题,寻找方案,解决问题。平时多关注和工作相关领域的其他公司的 tech blong,几年后回头看,刚工作的几年可能会是我职业生涯成长最快的时期了。
eGlhb2Jhb2Jhbw
2020-09-18 14:29:08 +08:00
我比较赞同先不看,先写好业务代码。毕竟才工作两个月,谈不上遇到过什么深刻的痛点,强行看的话反而 get 不到精髓。我当时工作大半年快一年的时候,尝试针对自己的痛点做封装做设计,调整架构,最后看了某篇文章中讲到和我类似的设计,很能感同身受。
wlfeng
2020-09-18 14:39:04 +08:00
多做,多看,如果碰到新项目能全程跟下来基本都能学到不少
ymz
2020-09-18 14:53:11 +08:00
现在多写代码就好了,慢慢就会有自己的想法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/707967

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX