2018 年 6 月 1 日应领导要求编制新开发人员电子书目阅读说明

请各位对我的知识、书目、认识进行指教。

书目阅读说明

工作上涉及软件开发的技术主要有Java和Oracle,分别建立了Java和Oracle文件夹。

关于Java,其优势在于特有的JVM平台,在语言上没有明显的优势。Java作为面向对象语言,可以非常自然地描述非常复杂的场景,所以初学者很容易在使用它时陷入误区。所以学习Java时应关注面向对象设计的理解和使用。

Java文件夹中《Java编程思想》包括了编程中所有需要的Java基础知识,是一本非常全面的Java入门书籍。如果不习惯作者的写作风格,可以尝试《Head First Java 中文版》。

关于Oracle,它目前是世界上最优秀的事务型关系数据库。和其他关系数据库相比它的优势是在同等硬件条件下,它可以承载更多的数据写入、更新操作。Oracle功能繁多,物理和逻辑机制非常复杂,任何草率的操作都能引起一连串的影响,学习Oracle主要应关注其运行原理。由于Oracle的整体架构具有强烈的设计一致性,所以只要具备基础的设计知识,Oracle运行原理和架构并不难掌握。

Oracle入门书籍中最简洁、最准确的是官方文档《Oracle Concepts》,作为补充,《Oracle.9i&10g编程艺术》强调了官方文档的重点以及介绍了作者的经验。如果对SQL不熟,那么建议阅读《深入浅出SQL》。

在前端(浏览器)开发技术上,整个行业没有确定的方向,Boostrap,AngularJS,Vue.js,Reactjs目前都是主流的,谁将最终存活下来,并没有结论。另外公司基础环境所限,重点不在浏览器端,所以没有提供电子资料。

以上是基础技术书籍的介绍。

在Java和Oracle上,存在这么一组矛盾,Java是面向对象的,SQL却是面向关系的,对象构建的逻辑要以关系函数的模型持久化存储到磁盘上,并在下一次加载对象时又将关系描述的数据读取出来放入对象里去。这里会引出一些架构上的决策问题,但不是本文讨论的范围。在实践中密切关注不同转换方法的利弊,将对之后的学习有很大帮助。

扫描二维码关注公众号,回复: 1770540 查看本文章

如果技术的意义正如它的定义所描述“是制造一种产品的系统知识”,那么我们对它的期望一定在产品上而不是在技术本身。为了达到这个目标,在软件开发上的理想过程应是这样的:

首先如果对软件开发过程不熟悉,那么请先需要阅读《Head First软件开发》。概念上、定义上、语义上的模糊和一知半解,将影响学习的方向,并在沟通中产生很多误解。

其次,需要认识到,软件需求是一定会发生变化的,即使业务人员发誓、签字、赌咒,需求也将会在若干个月之内发生变化。

最后,在实际中则会遇到两种主要特征的开发场景。一是需求方在工作上积累了很多信息化可以解决的困扰,需求方了解他所需要的一切,包括细节上他所期望的系统的操作方式。二是为了提高领域优势、行业竞争力,我们规划了目标,但是并不清楚需要怎么做,也许有其他公司走在前面可作为参考(仅仅是参考),也许并没有,需求方并不清楚他要做什么,他的想法可能明天就发生了变化。

这两种情况是实际存在的,也都是合理的,因为需求方考虑的是技术将服务的产品,而不是技术实现的前提。有时候这两种情况也混在一起出现,需求方一知半解,并且每天都有新的想法。

那么应对这样的场景,上文提到的理想过程是自顶向下的设计,自底向上的开发

自顶向下的设计,则是在设计过程中,首先需要抛开细节,从非常模糊和长远的目标出发,一步一步结合实际情况做设计折衷,最后在可见的情况下完成充满余地和变化的设计(所有需求方还未明白的地方都是未来肯定发生变化的地方,不需要在这里确定细节)。这里推荐的书籍是《设计原本》,相关书籍包括《设计模式》、《企业应用架构模式》(设计模式的入门书有《Head.First.设计模式》、C#版的《大话设计模式》)、《面向对象分析与设计》。

自底向上的开发,则是在开发过程中,根据设计目标方向,通过构建坚实的地基和稳健的结构,保障软件系统在不断变化需求的软件开发工作中不会腐败和倒塌。这里推荐的书籍是《敏捷软件开发:原则、模式与实践》,作者作为行业最著名的程序员之一,以积极的姿态拥抱了原本会提高开发成本的需求变化。相关书籍有《代码整洁之道》、《重构改善既有代码的设计》。方法虽然简单,但并不容易。

其他文件夹书籍说明:

《设计原本》的作者是IBM System/360之父,《人月神话》的作者,作为世界著名的项目经理,《设计原本》是他思考“软件工程没有银弹”三十年来的总结。作者在书中展现了他在《人月神话》中所说的“成年人喜欢创建事物,特别是自己进行设计。我想这种快乐是上帝创造世界的折射,一种呈现在每片独特、崭新的树叶和雪花上的喜悦。”

《面向对象分析与设计》作者是主流UML方法Booch方法的创始人,这本书介绍了面向对象的要素,工程软件开发较少关注关系型数据库知识,那么面向对象要素则显得尤为重要。

《重构改善既有代码的设计》作者是ThoughtWorks公司的首席科学家, 他改变了人类开发软件的模式,被开发者们尊为“教父”。重构和修改作文很像,代码也有写的好和坏,有些人即便不读此书,随着经验的增长和自己的思考,也会自然而然去使用书中类似的方法。重构技能是软件开发中像空气和水一般存在的自然的良好的代码协作习惯。

猜你喜欢

转载自www.cnblogs.com/wang-ze/p/9231623.html