本文承接上一篇文章:让你的代码量减少3倍!使用kotlin开发Android(一) 创建Kotlin工程 本文同步自博主的私人博客wing的地方酒馆 上一节说到,kotlin可以省去getter,setter,和findviewbyid,可以看到已经能去除掉不少代码了.本篇再带给大家一篇秘笈,叫做函数扩展. 函数扩展是什么东东捏,一般来说,我们扩展一个类,需要去继承来实现,不过这样又要写N多代码呀~~ 标题说了,kotlin能让你的代码量减少至少3倍!不信?快来跟我看看! 来让我们先把布局的Te…
让你的代码量减少3倍!使用kotlin开发Android(一) 创建Kotlin工程 本文同步自博主的私人博客:wing的地方酒馆 写在前面 使用kotlin开发android已经两周多了.得到的好处太多,敲代码简直是爽的飞起.kotlin简单,易用,代码量少.这么爽的东西,不敢私藏,所以写出来与大家分享. 可能标题说减少3倍你不信,但事实上并不夸张.通过学习本系列文章,你会发现,代码.真的少了很多. 本系列文章将会使用kotlin从无到有撸一个android小应用程序(不是微信小程序= =!)…
(一) 创建Kotlin工程 (二) –秘笈!扩展函数 (三) 缩短五倍的Java Bean 本项目使用的代码地址…
上一篇我们介绍了缩短五倍的java bean,不知道你在看的时候有没有一种疑问捏? 本文同步自博主的私人博客wing的地方酒馆 再来回顾一下,两种代码的对比 public class User { private String name; private String id; public User(String name, String id) { this.name = name; this.id = id; } public String getName() { return name;…
回顾一下 哈,没想到你已经坚持不懈看到第三篇了,不错哈~坚持就是胜利. 本文同步自博主的私人博客wing的地方酒馆 在上一篇文章中,我们介绍了扩展函数,这里对上一篇进行一点小小的补充. 还记得textview是如何setText()的吗 textView.text = "hello kotlin" 不知道你有没有想过,这个.text是如何实现的呢. 哈哈,其实你们大概已经猜到了.就是通过扩展函数实现的 public var TextView.text: CharSequence get…
本文同步自 博主的私人博客wing的地方酒馆 在前面的博客中,有一个栗子,是点击按钮转跳的监听器. button.setOnClickListener { val user = User("name") user.id = "100" SecondActivity.startActivity(this,user) } 可以看到,不用再new一个OnClickListener了.实际上这种写法是lambda的一种简略模式,通常情况下匿名内部类可以以如下表现形式展示:…
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. Guava是google公司开发的一款Java类库扩展工具包,内含了丰富的API,涵盖了集合.缓存.并发.I/O等多个方面.使用这些API一方面可以简化我们代码,使代码更为优雅,另一方面它补充了很多jdk中没有的功能,能让我们开发中更为高效. 今天Hydra要给大家分享的就是Guava中封装的一些关于Map的骚操作,在使用了这些功能后,不得不说一句真香.先引入依赖坐标,然后开始我们的正式体验吧~ <dependency> <grou…
下面讨论一下 js 中的 Event 对象,主要从以下三个方面详细的描述(点击标题可跳转到对应部分): 1.什么是event 2.怎么用event,用他该注意什么,几个简单实际应用 3.event在不同浏览器的存在的兼容问题,及如何去解决  1.  什么是event Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态等等.说的通俗一点就是,event是JS的一个系统内置对象.平时无法使用,当DOM元素发生按键.鼠标等等各种事件时,系统会自动根据D…
在很多地方需要用上INotifyPropertyChanged的接口,MVVM模式,List等集合都会用到. 通常我们使用 protected void OnChange(PropertyChangedEventArgs args) => PropertyChanged?.Invoke(this, args); private OutString _Text; public OutString Text { get => _Text; set { _Text = value; OnChange…
摘要:正常情况下,Spring 中的 Bean 对 Spring 是无感知的,Spring 框架提供了这种扩展能力,能让一个 bean 成为有感知的. 本文分享自华为云社区<有感知的 Aware Spring Bean>,作者:陈皮的JavaLib. 有感知能力的 Spring Bean 正常情况下…
应网友的要求,抽了点时间写了这个Demo,希望对2.2版想升级到3.0的朋友或正在使用3.0的朋友有所帮助.大家在使用Demo过程中如果发现什么问题或有什么建议,可以直接将Bug提交给我或告诉我,我会抽时间进行处理的,如果支持我写的文章,也请登陆我的博客推荐一下,有你的支持,我会更有动力. 本Demo使用了T4模版,可以通过模版的应用达到快速开发目的,在我实际的项目当中,可减少70%以上的代码量(计算方面的代码都放在了逻辑层,而逻辑层代码绝大部分都是直接生成)以及80%以上的出错率(程序员平常最…
减少比例= (360(原来的行数)-159(瘦身后的行数))/360 = 56% 父类 MVC 和MVVM 前后基本不动 父类主要完成如下三个功能: 1)功能:MJRefrsh +上拉下拉没有更多数据,封装到父类的控制器 子类调用3行代码增加所有刷新功能 2)网络失败:显示网络错误的链接,写在父类子类调用一行代码就可 3)加载数据完成,列表中没有数据提示View,比如购买界面,没有购 买记录,写在父类子类一行代码调用 瘦身思路(总的代码量增加了30多行,但是控制器更清爽了) 网络前网络请求函数是…
泛型简化代码量 下是我在项目中通过泛型来简化工作的一个Demo,记录一下: using System; using System.Collections.Generic;   namespace MyCollection { public class CBase { private string id = "CBase"; public virtual string Id { get { return id; } set { id = value; } } }   public cla…
利用find  xargs  wc可方便的计算出某个目录下源文件的代码量find sourcecode_dir_path -type f -name "*.c" -print0 | xargs -0 wc -l-print0选项使得find找到的目标文件名用'\0'分割 xargs的-0选项用'\0'分隔符从find的结果中提取参数,然后传给wc计算 快速查看一个命令的帮助文档的行数 man command | cat -n…
用statasvn进行代码量统计的时候,第一步需要获取到项目的日志,但是我本机的svn1.4没有安装命令行,重新运行1.4的安装包也没有命令行的选项... 那就升级到最新的svn1.8好了,下载最新的svn安装包,按照要求直接运行了两次安装,第一次安装,第二次修复,然后重点来了,重启的时候报MSVCP120.dll丢失的错误,原来的svn也不能用了啊 然后在网上找到一个解决方案: http://6.scdx3.crsky.com/soft/201407/DirectX_Repair-v3.2.z…
源:KEIL MDK 查看代码量.RAM使用情况--RO-data.RW-data.ZI-data的解释 KEIL RVMDK编译后的信息 Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116 Code是代码占用的空间; RO-data是 Read Only 只读常量的大小,如const型; RW-data是(Read Write) 初始化了的可读写变量的大小; ZI-data是(Zero Initialize) 没有初…
摘要 分享Git日常操作中常用的命令,分享如何统计在项目中贡献的代码量. 下面列出Git bash常用命令. 1. git clone **(项目地址) 克隆一个git项目到本地,将git项目拉取到本地 2. git status 查看文件状态,列出当前目录没有被git管理,以及被修改过还未提交的文件 3. git add * 将我们提交的文件添加到索引库中(添加到缓冲区),*可以是路径也可以是.符号,git add . 代表将当前目录下的所有文件都添加到索引库中,如果指定路径则代表将制定路径的…
1 需要系统安装 git + gawk git 安装自行百度 gawk 到官网下载 http://gnuwin32.sourceforge.net/packages/gawk.htm 1.2 下载好后解压,将bin 目录添加到 path 路径下 然后在cmd 命令行运行 gawk 看看有输出没,如果有输出就安装成功了 2 在需要统计的项目文件夹下,运行以下命令 git log --author="authorname" --pretty=tformat: --numstat --sin…
#统计代码量,显示离10W行代码还有多远 #递归搜索各个文件夹 #显示各个类型的源文件和源代码数量 #显示总行数与百分比 import os import easygui as g #查找文件 def find_file(file_path,target): os.chdir(file_path) all_files=os.listdir(os.curdir) for each in all_files: #print(each) fext=os.path.splitext(each)[1] i…
1.截至2017年3月14日,1623班级代码统计情况如下: 2.代码量排名是基于码云的git地址统计的,请大家仔细核对以下个人地址,如有问题请及时联系我. 20162301 20162302 20162303 20162304 20162305 20162306 20162307 20162308 20162309 20162310 20162311 20162312 20162313 20162314 20162315 20162316 20162317 20162318 20162319…
相比xib 使用代码编排view 的一个明显的好处就是可以更好地重复使用已有代码,减少代码冗余.…
#!/bin/bash # 统计代码量 # 使用方法: sh gitstat.sh "2017-11-01" "2017-11-30" "JamKong" ~/workspace/IDEA/项目名/ # 开始时间 startTime=` +%s` # 结束时间 endTime=` +%s` # 提交代码作者 author=$ # 项目绝对路径 path=$||'.' internalDay=$((($endTime-$startTime)///…
[other] 代码量代码复杂度统计-lizard lizard的可以用来统计下面的一些数据 不包含代码注释的代码行数 CCN 代码的复杂度,也就是分支复杂度 token的个数(关键字,标示符,常量,标点符号,操作符) 函数的参数个数 支持下列的一些语言 C/C++ (works with C++14) Java C# (C Sharp) JavaScript Objective C Swift Python Ruby TTCN-3 PHP Scala GDScript downloadlink…
近期做一个接口.接受外系统的报文,通过XStream转换成java对象以后.须要对当中的字段做格式校验. 要求例如以下: 传统的方式是硬编码校验.可是对于field非常多的情况.代码量暴增.easy出错. String storeCode = uHeader.getStoreCode(); if (StringUtils.isNotBlank(storeCode)) { ParamsUtil.getInstance().checkStrParam(result, storeCode, "抬头-參…
import os count=[0,0] paths=[] file_count=[0] def sum_code(path): if os.path.isfile(path): one_file(path) else: paths=os.walk(path) for i in paths: for j in i[2]: path=i[0]+"\\"+j one_file(path) def one_file(file_path): if file_path[-3:]=="…
查看git上个人代码量 git log --author="username" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' - 统计每个人的增删行数 git log --format=…
IDEA 代码量统计(Statistic) 1.1 前言 项目到了一定阶段,都会想要看看项目的代码量情况,这里主要使用插件Statistic进行代码统计查看. 1.2 安装插件步骤 找到插件市场入口并安装插件:File-->Setting...-->Plugins,按照图片步骤,1点击安装tab页,2输入Statistic关键字,3勾选插件,4点击OK进行安装: 安装成功后重启IDEA 重启完毕后等待编辑器初始化相关信息,然后在编辑器左下方找到Statistic插件,点击打开主界面: 点击Re…
概述 本文从一段统计C/C++程序脚本入手,记录shell脚本常用和重要的知识点. 代码量统计程序 文件名称,count_code_line.sh 123456789101112131415161718192021222324252627282930313233343536 #!/bin/bash # 统计代码行数 去除空格和注释# author: by wangxintang function count_dir(){ total1=0 for input in $* do count=`fi…
git的代码量大多数都是根据命令行统计,或者根据第三方插件统计.但是都不满足我的需求,因为我们代码都由gitlab管理,于是想到了通过gitlab暴露出来的接口获取数据. 第一步,生成私钥 登录你的gitlab申请私钥private_token 第二步,获取当前用户可见的所有项目(即使用户不是成员) 接口地址:gitlab的地址/api/v4/projects/?private_token=xxx返回参数: [{ "id":219, "description":&q…
本来挺简单的一个东西硬是弄了两天 心力交瘁 找了网上不少资料 整理一下发给大家 首先是统计每个人的代码量的git命令 在网上找的 我这里做了以下修改 git log --format='%aN'|sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; lo…