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


第四章

问题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. [转]使用Nginx实现反向代理

    使用Nginx实现反向代理 解释 正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问 ...

  2. 【ActiveMQ入门-5】ActiveMQ学习-Queue与Topic的比较

    Queue与Topic的比较 1.JMS Queue执行load balancer语义: 一条消息仅能被一个consumer收到. 如果在message发送的时候没有可用的consumer,那么它将被 ...

  3. linux中uptime命令查看linux系统负载

    阅读目录 uptime cat /proc/loadavg 何为系统负载呢? 进阶参考 uptime 另外还有一个参数 -V(大写),是用来查询版本的 [appdeploy@CNSZ22PL0088: ...

  4. 捷通华声TTS在Aster+中的安装过程

    1)挂载TTS光碟 2)安装如下5个rpm软件包 [asterisk@TTS78:/mnt]$ls *.rpmjTTS-5.0.1.0-3.i386.rpm             VocLib_Xi ...

  5. Linux常用命令收藏

    常见操作: 快速清空文件内容的几种方法:#: > filename # > filename # echo "" > filename # echo > f ...

  6. 在控制终端输入AT命令

    控制台终端输入AT命令到smd8,步骤如下: 1. 先执行命令 cat /dev/smd8 & 2. 再执行  echo  -e  "ati\r\n"  > /dev ...

  7. js判断各种浏览器

    <script type="text/javascript"> if (navigator.appName.indexOf("Microsoft Intern ...

  8. Delphi7到Delphi XE2的升级历程

    1.PChar 转为PAnsiChar; 2.第三方控件的安装 SuiPack不能直接点击InStall.exe安装,需要打开DPK文件安装: SuiPack安装之后程序编译会报错,resHandle ...

  9. 学习MongoDB 七: MongoDB索引(索引基本操作)(一)

    一.简介 在MongoDB建立索引能提高查询效率,只需要扫描索引只存储的这个集合的一小部分,并只把这小部分加载到内存中,效率大大的提高,如果没有建立索引,在查询时,MongoDB必须执行全表扫描,在数 ...

  10. 并发基础(六) 线程Thread类的start()和run()

    start()和run()方法对于刚接触线程的人来说,会有点混淆,有点难理解,一般都会有以下疑问: 一.start( )方法 1.为什么需要start方法:它的作用是什么: start方法的作用就是将 ...