作业三(1)

1. 是否需要有代码规范(5分)

对于是否需要有代码规范,请考虑下列论点并反驳/支持:

  1. 这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率, 浪费时间的东西。
  2. 我是个艺术家,手艺人,我有自己的规范和原则。
  3. 规范不能强求一律,应该允许很多例外。
  4. 我擅长制定编码规范,你们听我的就好了

显然这些观点是错误的,很个人主义。诚然,个人编写水平的高低影响着程序编写的好坏,但是,自身的品质更是决定一个程序的关键之处。编写出一个好的代码,很多时候是需要团队合作。软件的复杂度在大多数情况下早已超越个人英雄主义可以解决的范围,而团队合作合作的根本就是交流与沟通。规范的代码可以促进团队合作;规范的代码可以减少bug处理;如果写出的代码看起来难以理解,会增加许多维护/开发的成本;规范的代码有助于代码审查;养成代码规范的习惯,有助于自身的成长。

制定一个符合自身实际情况的开发规范并不难,重要的是自身认识到这个规范的重要性,并坚持规范的开发习惯

另外,至于如何规范自己代码,知乎上有个朋友说得不错:

第一阶段 给自己制定一个规则 让自己的代码看起来有规律

第二阶段 从设计上优化自己的代码(比如减少重复代码的出现?一些方法是作为类方法存在好还是对象方法存在好?把单个过长的方法拆解成几个小方法方便别人理解过程?)

第三阶段 从性能上优化自己的代码 并且开始通过注释来解释这些代码

作者:赵北云 链接:https://www.zhihu.com/question/29346624/answer/44048080 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

时间: 2024-11-08 19:24:30

作业三(1)的相关文章

機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 Q18-20 C++实现

大家好,我是Mac Jiang,今天和大家分享Coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三 Q18-20的C++实现.虽然有很多大神已经在很多博客中给出了Phython的实现,但是给出C++实现的文章明显较少,这里为大家提供一条C++实现的思路!我的代码虽然能够得到正确答案,但是其中可能有某些思想或者细节是错误的,如果各位博友发现,请及时留言纠正,谢谢!再次声明,博主提供实现代码的原因不是为了让各位通过测试,而是为学习有困难的同学提供

機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 Q13-15 C++实现

大家好,我是Mac Jiang,今天和大家分享Coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三 Q6-10的C++实现.虽然有很多大神已经在很多博客中给出了Phython的实现,但是给出C++实现的文章明显较少,这里为大家提供一条C++实现的思路!我的代码虽然能够得到正确答案,但是其中可能有某些思想或者细节是错误的,如果各位博友发现,请及时留言纠正,谢谢!再次声明,博主提供实现代码的原因不是为了让各位通过测试,而是为学习有困难的同学提供一

機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 课后习题解答

今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三的习题解答.笔者在做这些题目时遇到很多困难,当我在网上寻找答案时却找不到,而林老师又不提供答案,所以我就想把自己做题时对题目如何思考的写下来,为大家提供一些思路.当然,我对题目的理解不一定是正确的,如果各位博友发现错误请及时留言联系,谢谢!再次提醒:请不要以此博客作为通过考试的用途,还是更好学习.理解课程的途径!希望我的博客对您的学习有所帮助! 本文出处:http://blog

20165301 预备作业三:Linux安装及命令入门

预备作业三:Linux安装及命令入门 VirtualBox虚拟机的安装 在进行安装之前,原本以为有了娄老师的安装教程会是一件很容易的事情.万万没想到,在自己实际动手操作中,还是遇到了许多困难.通过与同学进行讨论和搜索百度引擎,最终顺利解决了大部分问题.(以下所有问题仅针对于win10系统) 首先遇到的问题是我新建虚拟机时,只能选择32位,而没有64位 百度后发现要在安装虚拟机前要检查电脑是否虚拟化 打开任务管理器-性能-CPU 如未虚拟化,需进行设置. 重启电脑按del进入电脑的BIOS界面,并

JAVA作业三

(一)学习总结 1.阅读下面程序,分析是否能编译通过?如果不能,说明原因.应该如何修改?程序的运行结果是什么?为什么子类的构造方法在运行之前,必须调用父 类的构造方法?能不能反过来? class Grandparent { public Grandparent() { System.out.println("GrandParent Created."); } public Grandparent(String string) { System.out.println("Gra

jQuery 作业三个按钮

作业三个按钮 <!--声明 文档--> <!DOCTYPE html> <!--定义字符集--> <html lang="zh-CN"> <head> <!--定义编码格式--> <meta charset="UTF-8"> <!--如果网页打不开设置显示内容,并跳转链接--> <meta http-equiv="x-ua-compatible"

第三次作业三总结与心得

知识点总结: 1.调用幂函数pow()生成乘方表 power=pow(); 2.#include<math.h>程序中调用了数学函数,需包含头文件math.h 3.调用自定义函数fact(i)计算i! product=fact(i); 4.double fact(int n);自定义函数的声明,以分号结束 5.double product;变量product用于存放结果(阶乘的值) 6.return product;将结果送回主函数 7.定义求n!的函数double fact(int n)函数

作业三 总结

知识点总结: 一:数据类型有:常量和变量 二:数据中1常量:程序运行中,其值不能被改变 2变量:程序运行中,其值可以被改变 三:#include<math.h>程序中调用了数学函数,需包含头文件math.h的 四:个位数是:n%10 十位数是:(n/10)%10 百位数是:n/100 按这个道理继续千位,万位等等...... 实验心得:这是第三次作业,学习也有一个月的时间了.从陌生开始对这门学科有了更多的了解,自己也得到了很大的进步.这次作业队git的应用更加熟练了.相对于第一次使用有了很大的

个人博客作业三:英语学习APP的案例分析

1. 下载并使用,描述最简单直观的个人第一次上手体验. 我个人也用过很多的语音助手,比如苹果上的Siri.还有安卓的讯飞语音,个人感觉微软小娜最好用.因为微软小娜在各种方面都很人性化,说话也会带着语气没有那种机器人的感觉,功能也很多比如能玩成语接龙之类的游戏很有意思. 2. 按照<构建之法>13.1节描述的 bug 定义, 找出几个功能性的比较严重的 bug,至少2个. 从用户角度看:我只发现一个就是玩成语接龙,说完了以后并不能接,游戏不能进行.从代码角度看:看不出来. 3. 用专业的语言描述

【作业三】林轩田机器学习技法

这次关注的作业题目是Q13~Q20,主要是实现basic C&RT分类树,以及由其构成的Random Forest. 其中basic C&RT分类树的实现思路如下: (一)先抽象出来几个功能: 1)从local file读数据并转化成numpy.array的形式(考虑空行容错)(def read_input_data(path)) 2)如何根据某个维度的feature,计算这个feature产生的branch criteria(此题中为decision stump)(def learn_d