如何写出更好的代码,一些哲学与原则问题,应该看什么书?

2019-11-25 11:30:13 +08:00
 xiaotianhu

rt,一些编码的原则,哲学思想层面的

比如单一职责啊,一些最佳实践,防御性编程之类的

有什么好的书介绍吗?

4339 次点击
所在节点    程序员
41 条回复
czjxy881
2019-11-25 11:33:35 +08:00
如果想看编码细节可以看看 设计模式之禅,如果想看整体架构,微服务之类的可以看看 Release it
enaxm
2019-11-25 11:38:27 +08:00
《 a philosophy of software design 》
冯诺依曼传
dafaflow model paper
软件工程教科书的 reference
enaxm
2019-11-25 11:42:58 +08:00
更直白的来说,你自己去构建 学科的知识体系结构

比如数据结构 上层用到集合论代数形式化方法 在上层是逻辑学演绎法和归纳法
结构化方法可以看做是一种 事件驱动的认知域模型

建构你的知识体系结构,或者时髦一点—知识图谱

最简单路线:wiki 知识树
xuanbg
2019-11-25 11:43:31 +08:00
哲学是思考的学问,思考的基础是逻辑。
Mistwave
2019-11-25 11:43:49 +08:00
code complete
the pragmatic programmer
the practice of programming
xiaotianhu
2019-11-25 11:59:44 +08:00
@czjxy881
不是这种.可能更接近于"unix 设计哲学"之类的.关注点就在"写代码"这件事本身.

不是什么架构啊领域啊模式啊什么的.
xiaotianhu
2019-11-25 12:01:19 +08:00
@enaxm

很多科班出身的人,知识体系完整 数据结构 /算法 说起来头头是道

写出来的东西就是狗屁不通

想解决的是这种问题.
icylogic
2019-11-25 12:26:35 +08:00
Clean Architecture 不就讲了单一职责,开闭这些吗,这不是架构是啥?更原始一点的可以看 SICP
eclipselu
2019-11-25 12:27:52 +08:00
Clean Code / Clean Architecture
luoway
2019-11-25 12:55:02 +08:00
https://github.com/nusr/hacker-laws-zh
对开发人员有用的定律、理论、原则和模式
wangkun025
2019-11-25 12:56:15 +08:00
有用即真理。
其他的都是扯淡。
路是走出来的,不是规划出来的。
enaxm
2019-11-25 13:08:14 +08:00
@xiaotianhu #7。。。扯淡,那是科班出身的垃圾
科班比较好的都是做 OJ 的,他们非常擅长刷题解决问题能力非常强。然后理论不行。

不要对科班有什么误解,就资源丰富度和专业素养上,科班基本吊打野生程序员。

或者你说的另一种狗屁不通要去怪你们的 PPT 架构师或者 Shit Mounty
你的提问和内容已经完全不是一个话题了。
enaxm
2019-11-25 13:09:51 +08:00
fix: mountain
dreamerlv3ex
2019-11-25 13:13:13 +08:00
云程序员码农在此,别跟我说××,一把梭.jpg
littlewing
2019-11-25 13:16:10 +08:00
还不如多写写
andrewjames
2019-11-25 13:32:29 +08:00
《大教堂与集市》
xiaotianhu
2019-11-25 13:34:27 +08:00
@dreamerlv3ex 真心喜欢 coding,是需要避免这种功利主义的思想的.

要不然会越写越怀疑人生.
xiaotianhu
2019-11-25 13:36:17 +08:00
@luoway 感谢,学习一下.
sheny
2019-11-25 13:44:10 +08:00
面试:说一下你对 xxx 的理解。我:“哈?那是 what ?”。一看代码,“哦,这个啊,我知道。”
--一枚可能与众不同的科班程序员
imn1
2019-11-25 13:49:40 +08:00
虽然我也看哲学,但把哲学和编程放在一起,我还是觉得高深了
我个人觉得不必这样吧,基础应该还是业务逻辑和业务流程,跳过这个研究行为和哲学的话,我只想到一个:熟习抽象类

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

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

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

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

© 2021 V2EX