我在这三天时间里阅读了《构建之法》的第四章和第十七章,产生了一些疑问和深层次的思考。


第四章

问题1:

书中第68页提到“注释(包括所有源代码)应该只用ASCII字符,不要用中文或其他特殊字符”。

书中的这句话和我之前一直以来的习惯大相径庭,所以我去查了论坛,看看已经工作的程序员对此的看法:

可以看到很多程序员在日常开发中也使用中文注释。书中的观点是从编码的规范角度考虑,ASCII不含中文字符,可能编译后会造成中文乱码,也会影响可移植性。但现在的编译器大多支持中文,程序员也可以避免中文乱码,中文注释也更加通俗易懂。所以虽然英文注释更加规范,但也有不少程序员使用中文注释。书上这句观点是不是太绝对了,还是说存在其他原因所以不能使用中文注释?

问题2:

书中第67页提到“注释是为了解释程序做什么,为什么这样做,以及要特别注意的地方”。

我在之前一次作业四则运算中就产生了疑问:到底哪些地方应该加注释,哪些地方没有必要加注释。百度百科中关于注释的作用给出的解释是:注释是为了方便自己阅读,为了别人更好地理解自己的程序,方便复审和修改。程序中不要通篇注释,但也要适当注释。所以如何界定一段代码需不需要注释?根据难易程度?但每个人的知识程度不一样,有些人一眼能看懂觉得这里没必要加注释,有些人却看不懂觉得需要加注释。究竟应该如何判断?

第十七章

问题3:

书中第396页提到的绩效管理。作者先是提出了从工作量、资历、效率等单个角度评定的方法,然后一一指出了不足之处,否定了。然后提到了有些公司采用的二维评价体系。

结合第四章的内容,我对结对编程中的两个人如何绩效管理产生了疑问。因为结对编程是两个人共同完成,谁也不能说自己比另外一个人贡献大,这种情况下怎样绩效考核?

问题4:

书中第406页提到的软件工程师的职业道德“软件工程师的行为应与公众利益一致”。

看到这里我想到了市场上的各种火车票抢票软件,这些软件照顾了使用该软件用户的利益,但损害了其他老老实实抢票人的利益。公众的利益很难兼顾,所以这种行为是不是有违软件工程师的职业道德?

Week4-作业1:阅读笔记与思考的更多相关文章

  1. Week2:阅读笔记与思考

    <构建之法>这本书的内容通俗易懂,每一个知识点都有许多事例佐证,阅读起来不像其他教科书那样枯燥无聊.但阅读过第一.二.十六章之后还是产生了几个疑问,以及更深层次的思考. 第一章 问题1: ...

  2. Week4-作业1:《构建之法》第四章、第十七章 阅读笔记与思考

    第四章 两人合作   这一章是讲述了两人结对编程的一些东西,包括一些代码的规范,还有结对编程的优点.怎么做.以及一些注意事项. 1.“错误处理 当程序的主要功能实现后,一些程序员会乐观地估计只需要另外 ...

  3. <<UML大战需求分析>>阅读笔记(2)

    <<UML大战需求分析>>阅读笔记(2)> 此次读了uml大战需求分析的第三四章,我发现这本书讲的特别的好,由于这学期正在学习设计模式这本书,这本书就讲究对uml图的利用 ...

  4. Hadoop阅读笔记(四)——一幅图看透MapReduce机制

    时至今日,已然看到第十章,似乎越是焦躁什么时候能翻完这本圣经的时候也让自己变得更加浮躁,想想后面还有一半的行程没走,我觉得这样“有口无心”的学习方式是不奏效的,或者是收效甚微的.如果有幸能有大牛路过, ...

  5. Hadoop阅读笔记(一)——强大的MapReduce

    前言:来园子已经有8个月了,当初入园凭着满腔热血和一脑门子冲动,给自己起了个响亮的旗号“大数据 小世界”,顿时有了种世界都是我的,世界都在我手中的赶脚.可是......时光飞逝,岁月如梭~~~随手一翻 ...

  6. CI框架源码阅读笔记4 引导文件CodeIgniter.php

    到了这里,终于进入CI框架的核心了.既然是“引导”文件,那么就是对用户的请求.参数等做相应的导向,让用户请求和数据流按照正确的线路各就各位.例如,用户的请求url: http://you.host.c ...

  7. 【读书笔记与思考】《python数据分析与挖掘实战》-张良均

    [读书笔记与思考]<python数据分析与挖掘实战>-张良均 最近看一些机器学习相关书籍,主要是为了拓宽视野.在阅读这本书前最吸引我的地方是实战篇,我通读全书后给我印象最深的还是实战篇.基 ...

  8. ULMFiT 阅读笔记

    ULMFiT 阅读笔记 概述 这篇文章从文本分类模型入手,主要提出了两点:一是预训练语言模型在大中小规模的数据集中都能提升分类效果,在小规模数据集中效果尤为显著.二是提出了多种预训练的调参方法,包括D ...

  9. 关于 AlphaGo 论文的阅读笔记

    这是Deepmind 公司在2016年1月28日Nature 杂志发表论文 <Mastering the game of Go with deep neural networks and tre ...

随机推荐

  1. Hadoop文件系统支持释疑之S3

    一.引言 Hadoop版本提供了对多种文件系统的支持,但是这些文件系统是以何种方式实现的,其实现原理是什么以前并没有深究过.今天正好有人咨询我这个问题:Hadoop对S3的支持原理是什么?特此总结一下 ...

  2. 【Active入门】ActiveMQ学习-1

    基本概念: 接收者: package com.ll.activemq; import java.util.Collection; import java.util.Iterator; import j ...

  3. bzoj3932 任务查询系统

    Description 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分. 超级计算机中的任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si ...

  4. RDD之五:Key-Value型Transformation算子

    Transformation处理的数据为Key-Value形式的算子大致可以分为:输入分区与输出分区一对一.聚集.连接操作. 输入分区与输出分区一对一 mapValues mapValues:针对(K ...

  5. 给iOS开发新手送点福利,简述UIPikerView的属性和用法

    1.   numberOfComponents:返回UIPickerView当前的列数 NSInteger num = _pickerView.numberOfComponents; NSLog( @ ...

  6. Erasure Coding(纠删码)深入分析

    http://blog.sina.com.cn/s/blog_57f61b490102viq9.html 1.前言 Swift升级到2.0大版本后宣称开始支持纠删码,这其实是一个很有意义的特性,主要是 ...

  7. C#中 ThreadStart和ParameterizedThreadStart区别

    最主要区别: 1.Thread 是启动一个线程,但是没有参数. 2.ParameterThreadStart  线程可以接受一个输入参数 ThreadStart: ThreadStart这个委托定义为 ...

  8. mysql 更新(二)安装和基本管理

    03-MySql安装和基本管理   本节掌握内容: MySQL的介绍安装.启动 MySQL破解密码 MySQL中统一字符编码 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目 ...

  9. python函数入门

    知识内容: 1.函数的作用 2.函数的定义与调用 3.函数的返回值 4.函数的参数 5.局部变量与全局变量 6.作用域 一.函数的作用 1.复用代码 将可能重复执行的代码封装成函数,并在需要执行的地方 ...

  10. hibernate vs ibatis

    主要通过 灵活性,性能,开发速度 三个角度来看 1.ibatis非常简单易学,hibernate相对较复杂,门槛较高.  2.二者都是比较优秀的开源产品  3.当系统属于二次开发,无法对数据库结构做到 ...