一个函数有多少行代码比较合适?
要看功能,如果一个方法可以分成好多个子功能的话尽量将其抽取出来作为单独的方法,曾经重构过好多这样的代码,不是写代码的人水平低,主要还是不负责,懒得多想。
个人觉得函数的写法应该遵循以下两点基本的原则:1.当发现函数中有重复代码的时候,说明你可以将它封装成一个新的函数了2.每个函数按照功能命名,即每个函数的实现都应该仅包含函数名所传达的内容。
根据单一职责设计原则 分得越精细越好,而且要看功能,如果一个方法可以分成好多个子功能的话尽量将其抽取出来作为单独的方法,曾经重构过好多这样的代码,不是写代码的人水平低,主要还是不负责,懒得多想。
尽量不超过一屏应该是公认的,因为当你要上下滚动屏幕时会大幅增加你出错的概率。不过我觉得更多的还是要关注这个函数是否有再被分解的意义,如果代码不需要重用,在功能上也没有显得很独立,那就不必要强行要求分解成更小的函数吧。
一个函数有多少行代码比较合适?相关推荐
- 【python】一个目录里面多个python程序文件,统计一下里面有多少行代码。即分别列出:代码、空行、注释的行数。
一个目录里面多个python程序文件,统计一下里面有多少行代码.即分别列出:代码.空行.注释的行数. 题目 代码 结果 题目 一个目录里面多个python程序文件,统计一下里面有多少行代码.即分别列出 ...
- python写一个类600行代码_带你领略算法的魅力,一个600行代码的分词功能实现(一)...
为什么要说分词呢?其实这个话题挺大的.所以准备分几篇来写,这次先写第一篇. 写给别人看,也写给自己.毕竟,自己在思特奇也做了好久了,写点有意思的东西,结交一些有兴趣的朋友. 一是确实最近的一些实践给了 ...
- Python项目可以有多大?最多可以有多少行代码?
全世界有3.14 % 的人已经关注了 数据与算法之美 导读:总是看到有人说,动态一时爽,重构火葬场.然而这世界上有的是著名的开源项目, 也有像 Github.Instagram 这样流量巨大的知名网站 ...
- 一个包含30行代码的Python项目:如何在您最喜欢的Twitcher流式传输时设置SMS通知...
Hi everyone :) Today I am beginning a new series of posts specifically aimed at Python beginners. Th ...
- python写一个类600行代码_带你领略算法的魅力,一个600行代码的分词功能实现(二)...
从大学毕业到工作的开始几年,一直觉得大学期间学的线性代数,离散数学,概率论简直是浪费时间. 那时候实际做的代码,大部分都是数据进销存.数据输入到数据库介质中的转换,CS,BS架构都写过一些.总觉得现实 ...
- python 数据比对 函数_1行代码实现Python数据分析:图表美观清晰,自带对比功能丨开源...
原标题:1行代码实现Python数据分析:图表美观清晰,自带对比功能丨开源
- java判断一个文件有多少行_Java关于条件判断练习--统计一个src文件下的所有.java文件内的代码行数(注释行、空白行不统计在内)...
要求:统计一个src文件下的所有.java文件内的代码行数(注释行.空白行不统计在内) 分析:先封装一个静态方法用于统计确定的.java文件的有效代码行数.使用字符缓冲流读取文件,首先判断是否是块注释 ...
- 如何基于FFMPEG和SDL写一个少于1000行代码的视频播放器
http://blog.csdn.net/eplaylity/archive/2008/12/05/3454431.aspx http://www.cnblogs.com/konyel/tag/SDL ...
- 如何统计前端项目有多少行代码
方法一:输入命令 前端项目核心代码主要在src目录下,打开项目找到src目录,右键点击 git bash here ,然后输入命令: 1.包括空行(会列出每个文件的代码行数): find . &quo ...
最新文章
- NOIP2012 文化之旅
- 数据结构之堆的插入、取值、排序(细致讲解+图片演示)
- 如何编译java,java如何编译运行?
- eclipse 关闭时progress information弹框_如何关闭 iPhone 中的评分和好评弹窗?
- c语言变量相等问题穷举法,C语言穷举法经典例题.ppt
- 2018 Multi-University Training Contest 1 Balanced Sequence(贪心)
- mysql关系模式怎么画_关系数据库与mysql
- JAVA Opencv在图片上添加中文
- python有趣的函数_Python中有趣在__call__函数
- 系统学习NLP(二十四)--详解Transformer (Attention Is All You Need)
- adobe premiere 不支持的视频驱动程序
- 什么是TTL?标准USB接口是TTL吗?RS232、RS422、RS485的区别?
- 中医针灸学综合练习题库【10】
- 轻松安装、卸载Linux软件
- yii mysql gii_Yii 框架使用Gii生成代码操作示例
- 微信小程序参数二维码生成朋友圈分享图片
- 计算机考研考的数学题,2019计算机考研数学七个小窍门快速答题
- Python将numpy(.npy文件)存储为.ply文件
- oracle求字段中指定字符串出现个数
- 唯品会OSP参考文章
热门文章
- 线程和进程/阻塞和挂起以及那些sleep,wait()和notify()方法详解
- Java 字符串长度不足左右补0
- 如何解决登录组件错误[4]?
- Mongo数据库简单操作 (本地)
- navicat使用自定义函数和存储过程
- Python跟我说0.1+0.2!=0.3,难道这么多年的数学白学了?
- 阿里开源内核诊断工具:diagnose-tools
- uiuc大学计算机排名2019,2019-2020伊利诺伊大学芝加哥分校世界排名多少【QS最新第231名】...
- mysql乐观锁效果_MySQL的乐观锁
- Python队列|一文看懂python队列的几种类型