返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • 你真的会写代码吗 (意)马尔科·法埃拉 著 雷威,李强 译 专业科技 文轩网
  • 新华书店正版
    • 作者: (意)马尔科·法埃拉著 | | 雷威,李强译
    • 出版社: 人民邮电出版社
    • 出版时间:2021-07-01 00:00:00
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    文轩网图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

         https://product.suning.com/0070067633/11555288247.html

     

    商品参数
    • 作者: (意)马尔科·法埃拉著| 雷威,李强译
    • 出版社:人民邮电出版社
    • 出版时间:2021-07-01 00:00:00
    • 版次:1
    • 印次:1
    • 印刷时间:2021-07-01
    • 字数:396000
    • 页数:268
    • 开本:16开
    • 装帧:平装
    • ISBN:9787115566348
    • 国别/地区:中国
    • 版权提供:人民邮电出版社

    你真的会写代码吗

    作  者:(意)马尔科·法埃拉 著 雷威,李强 译
    定  价:89.8
    出 版 社:人民邮电出版社
    出版日期:2021年07月01日
    页  数:268
    装  帧:平装
    ISBN:9787115566348
    主编推荐

    1.一条主线串联编程语言、算法与软件工程 2.一个实例,七次重构,助力明辨代码优劣 3.附赠在线代码库,按章节组织免费下载 4.Java开发技巧助力应对多样化开发需求 5.《Java核心技术》《写给大忙人看的Java核心技术》等书作者凯·霍思特曼作序推荐

    内容简介

    本书的核心思想是通过对各方面的代码质量进行比较,使读者了解经验丰富的开发者拥有的思维模式。为了展示软件开发很好实践,作者对一个水容器示例进行多次重构,讨论了18种实现,分别从7个方面改进代码质量:时间效率、空间效率、监控与可靠性、测试与可靠性、可读性、线程安全、可复用性。在此过程中,作者还探讨了与计算机科学、Java编程以及软件工程相关的专业话题,这些知识都有助于读者写出更好的代码。本书面向初级和中级Java程序员,其他面向对象编程人员也能从中受益。

    作者简介

    精彩内容

    目录
    第一部分准备工作
    第1章软件质量和待解决问题2
    1.1软件质量2
    1.1.1内部质量与外部质量3
    1.1.2功能性质量与非功能性质量3
    1.2主要的外部软件质量4
    1.2.1正确性4
    1.2.2稳健性5
    1.2.3易用性5
    1.2.4效率5
    1.3主要的内部软件质量6
    1.3.1可读性6
    1.3.2可复用性6
    1.3.3可测试性6
    1.3.4可维护性7
    1.4软件质量之间的关系7
    1.5特殊的质量9
    1.5.1线程安全9
    1.5.2简洁性9
    1.6演进示例:水容器系统9
    1.6.1API10
    1.6.2用例11
    1.7数据的模型和表示12
    1.7.1存储水量13
    1.7.2存储连接13
    1.8你好,容器(Novice)15
    1.8.1字段和构造函数15
    1.8.2getAmount和addWater方法17
    1.8.3connectTo方法17
    1.9小结19
    1.10扩展阅读19
    第2章Reference的实现20
    2.1代码(Reference)21
    2.1.1内存布局图22
    2.1.2方法25
    2.2内存需求26
    2.3时间复杂度30
    2.4学以致用32
    2.5小结33
    2.6小测验答案和练习答案34
    2.7扩展阅读36
    第二部分软件质量
    第3章速度的要求:时间效率40
    3.1常数时间内完成加水(Speed1)41
    3.2常数时间内添加连接(Speed2)43
    3.2.1用循环链表来表示容器组43
    3.2.2延迟更新46
    3.3优选的平衡:并查集算法(Speed3)49
    3.3.2连接容器树52
    3.3.3最坏情况时间复杂度53
    3.3.4摊销时间复杂度55
    3.3.5可调整大小数组的摊销分析56
    3.4比较各种实现59
    3.4.1实验59
    3.4.2理论与实践60
    3.5来点儿新鲜的61
    3.5.1快速插入62
    3.5.2快速查询62
    3.5.3让三个方法都变快63
    3.6真实世界的用例63
    3.7学以致用64
    3.8小结65
    3.9小测验答案和练习答案65
    3.10扩展阅读68
    第4章宝贵的内存:空间效率70
    4.1稍微挤一下(Memory1)70
    4.2普通数组(Memory2)75
    4.3弃用对象(Memory3)78
    4.3.1无对象的API79
    4.3.2字段和getAmount方法81
    4.3.3用一个工厂方法来创建容器82
    4.3.4通过ID连接容器84
    4.3.5空间复杂度和时间复杂度87
    4.4黑洞(Memory4)87
    4.5空间和时间的权衡90
    4.6来点儿新鲜的92
    4.6.1重复对象少的情况92
    4.6.2重复元素多的情况93
    4.7真实世界的用例94
    4.8学以致用94
    4.9小结96
    4.10小测验答案和练习答案96
    4.11扩展阅读100
    第5章有自我意识的代码:通过监控实现可靠性102
    5.1契约式设计102
    5.1.1前置条件和后置条件102
    5.1.2不变式104
    5.1.3正确性和稳健性105
    5.1.4检查契约106
    5.1.5更广泛的情况108
    5.2基于契约设计水容器109
    5.3检查契约的容器(Contracts)111
    5.3.1检查addWater方法的契约114
    5.4检查不变式的容器(Invariants)117
    5.4.1检查connectTo方法的不变式118
    5.4.2检查addWater方法的不变式120
    5.5来点儿新鲜的120
    5.5.1契约121
    5.5.2一个基线版本实现121
    5.5.3检查契约122
    5.5.4检查不变式123
    5.6真实世界的用例124
    5.7学以致用125
    5.8小结126
    5.9小测验答案和练习答案126
    5.10扩展阅读131
    第6章别对我撒谎:通过测试保证可靠性132
    6.1测试的基本概念132
    6.1.1测试的覆盖率133
    6.1.2测试和契约式设计133
    6.1.3JUnit134
    6.2测试水容器(UnitTests)136
    6.2.1初始化测试136
    6.2.2测试addWater138
    6.2.3测试connectTo方法143
    6.2.4运行测试144
    6.2.5衡量代码覆盖率145
    6.3可测试性(Testable)146
    6.3.1可控性146
    6.3.2可观察性147
    6.3.3隔离:切断依赖关系148
    6.4来点儿新鲜的149
    6.4.1提高可测试性150
    6.4.2一个测试套件151
    6.5真实世界的用例153
    6.6学以致用154
    6.7小结155
    6.8小测验答案和练习答案155
    6.9扩展阅读160
    第7章让代码说话:可读性161
    7.1关于可读性的一些观点161
    7.1.1企业编码风格规范162
    7.1.2可读性因素163
    7.2结构性的可读性特征164
    7.2.1控制流语句164
    7.2.2表达式和局部变量166
    7.3外部可读性特征167
    7.3.1注释167
    7.3.2命名168
    7.3.3空白及缩进169
    7.4可读的容器(Readable)169
    7.4.1用Javadoc描述类的头部170
    7.4.2整理connectTo方法173
    7.4.3整理addWater方法177
    7.5可读性的终极思考178
    7.6来点儿新鲜的179
    7.7真实世界的用例181
    7.8学以致用181
    7.9小结183
    7.10小测验答案和练习答案183
    7.11扩展阅读186
    第8章多个厨师一锅饭:线程安全188
    8.1线程安全面临的挑战188
    8.1.1并发级别190
    8.1.2水容器的并发策略192
    8.2处理死锁193
    8.2.1原子的锁序列194
    8.2.2有序的锁序列195
    8.2.3一个隐藏的竞争条件196
    8.3线程安全的水容器(ThreadSafe)198
    8.3.1同步connectTo方法198
    8.3.2同步addWater和getAmount方法199
    8.4不可变性(Immutable)201
    8.4.1API202
    8.4.2实现204
    8.5来点儿新鲜的206
    8.6真实世界的用例208
    8.7学以致用209
    8.8小结210
    8.9小测验答案和练习答案211
    8.10扩展阅读213
    第9章请重复利用:可复用性215
    9.1确立边界215
    9.2通用框架216
    9.2.1属性API219
    9.2.2可变收集器220
    9.2.3将Attribute适配到函数接口224
    9.3一个通用容器的实现225
    9.4通用的考虑227
    9.5复原水容器(Generic)228
    9.5.1更新用例228
    9.5.2设计具体的属性228
    9.5.3定义具体的水容器类230
    9.6社交网络的帖子230
    9.7来点儿新鲜的231
    9.7.1参数函数的接口233
    9.7.2一个通信模式235
    9.8真实世界的用例237
    9.9学以致用238
    9.10总结240
    9.11小测验答案和练习答案240
    9.12扩展阅读245
    附录A代码高尔夫:简洁性246
    附录B终极水容器类249
    列表:每一章中主要的类252

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购