精华内容
下载资源
问答
  • 一个函数有多少行代码比较合适?

    千次阅读 2017-10-24 16:07:28
    要看功能,如果一个方法可以分成好多个子功能的话尽量将其抽取出来作为单独的方法,曾经重构过好多这样的代码,不是写代码的人水平低,主要还是不负责,懒得多想。 个人觉得函数的写法应该遵循以下两点基本的原则:...
    要看功能,如果一个方法可以分成好多个子功能的话
    尽量将其抽取出来作为单独的方法,
    曾经重构过好多这样的代码,
    不是写代码的人水平低,
    主要还是不负责,懒得多想。
    个人觉得函数的写法应该遵循以下两点基本的原则:
    1.当发现函数中有重复代码的时候,说明你可以将它封装成一个新的函数了
    2.每个函数按照功能命名,即每个函数的实现都应该仅包含函数名所传达的内容。
    根据单一职责设计原则 分得越精细越好,而且要看功能,如果一个方法可以分成好多个子功能的话尽量将其抽取出来作为单独的方法,曾经重构过好多这样的代码,不是写代码的人水平低,主要还是不负责,懒得多想。
    
    尽量不超过一屏应该是公认的,因为当你要上下滚动屏幕时会大幅增加你出错的概率。
    不过我觉得更多的还是要关注这个函数是否有再被分解的意义,如果代码不需要重用,在功能上也没有显得很独立,那就不必要强行要求分解成更小的函数吧。
    展开全文
  • 微软的Windows系统是伴随我们已久的老朋友了,大多数人都是一代一代Windows的用上来,老用户几乎都形成一个共识,就是微软的系统...那么,微软的Windows系统用了这么久,究竟它有多少行代码呢? Microsoft Window...

    微软的Windows系统是伴随我们已久的老朋友了,大多数人都是一代一代Windows的用上来,老用户几乎都形成一个共识,就是微软的系统有一代会很好,也有一代会很糟糕,比如Windows XP、Windows 7就很受欢迎,而Windows 2000、Windows Vista就是一个悲伤的故事。那么,微软的Windows系统用了这么久,究竟它有多少行代码呢?

    开发一个window操作系统究竟要多少行代码呢?

    Microsoft Windows问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。下面我们从代码行数、开发难度,参与人员的数量,开发的时间长度等角度来说说,一个windows系统有多复杂。

    开发一个window操作系统究竟要多少行代码呢?

    Windows XP大约40,000,000行代码。

    Windows Vista 大约50,000,000行代码,算上修正掉的代码估计超过一亿行。内部版本超过上千个,每个版本都有所测试。为其做出贡献的正式工合约工临时工超过数万人。大概的工程量可能和胡夫金字塔相当。

    Windows 7 大约50,000,000行代码。Windows 7开发的时候有23个小组,每个小组约40人,也就是将近1000人。这仅仅是Windows团队的人数,其余为其做出贡献的更是数不胜数。

    开发一个window操作系统究竟要多少行代码呢?

    几千万行代码的工作量是个什么概念?举个参照系吧,很多人在用的金山的WPS代码行数约有150万行,而金山软件公司重写这个级别的办公软件WPS,用了3年时间。

    再比如微软在4年前的研发成本超过100亿美元,在开发Windows Vista的所花费的研发费用更是超过了恐怖的200亿美元。Linux内核开发根据人员投入的规模测算,也耗资数有十亿美元。

    开发一个window操作系统究竟要多少行代码呢?

    假如一个桌面级的操作系统代码规模在千万行数量级,如果加上配套软件,总规模应该超过一亿行,如果再加上一个完整的软件生态系统,那么总规模应该不少于十亿行。这还是成熟的系统,再加上调试精简前更多。再加上各个功能之间需要兼容性,可维护性,可管理性等这些随着代码的越来越多可推敲,需考虑的问题也会越来越多,是项技术难度非常大的工作!你觉得呢?

     

    展开全文
  • 天写多少行代码才算是好程序员?   当今时代很多吃瓜群众对程序员的印象都是   而程序员的真实情况却是这样:每天大部分时间都在改代码,写代码,看代码才是我们真实的工作日常,到底每天要写多少行才是好...

    一天写多少行代码才算是好程序员?

     

    当今时代很多吃瓜群众对程序员的印象都是

     

    640_jpeg

    而程序员的真实情况却是这样:每天大部分时间都在改代码,写代码,看代码才是我们真实的工作日常,到底每天要写多少行才是好程序员呢?

    为了探讨这个问题首先要了解程序员的种类。一般来讲,开发者(指的是纯的写代码,不包括不写代码的项目经理 、技术总监等)主要分为:

    1. web工程师:

    一般是写基于web的程序,所用语言基本上为Java, PHP或者ASP,如果做winform,C#则是主流。另外设计到数据库 部分,还要写部分的数据库sql语句(基于框架的开发被框架封装好的存储过程除外)。此外,还有前端的编写,涉 及到的语言包括HTML、CSS、以及Javascript等。这类编程工作的主要特点是量大,技术含量相对来说不是很高,入 门槛相对较低。大部分从业者学历相对来说不算顶尖,鲜有名牌大学毕业的从事web编码工作。这类工作对算法和数据结构要求不是太高,代码许多都是大量复制而成,所以一天产生100行以上的代码是比较普遍的。

    2.嵌入式工程师

    一般都是基于芯片编程,控制硬件,代码浓缩度很高,有时候,整个控制程序也就是几百行代码。而在设计时候需要考虑很多,代码速度一般来说一天能产生20行是不错的了。

    3.算法工程师

    算法工程师一般都是研究某种算法,然后将它实现。算法设计上每一步都需要仔细推敲时间和空间上的复杂度以及完成效率。编写代码也是如此。这些程序虽然可能 很大,比如一个视频每帧文字的识别程序,但是代码的产出速度可能会更慢。因为在实现前必须有大量的算法分析和设计的活,和代码时间比大概是6:1。所以一 天一般也就产出20行左右。
    还有一些其他种类,比如通信工程师、数据库工程师、安全工程师,也都大同小异,在这里不细说了。但是我们可以看到,熟练工种一般都是在一天100行以内这样一个数量级上的。

    了解完这些我们来看看国内程序员是怎么说的

    _2017_08_26_9_48_29

    _2017_08_26_9_48_54

    _2017_08_26_9_49_19

    _2017_08_26_9_50_09

    _2017_08_26_9_50_29

    了解了国内在来看看国外,作为科技巨头的之一的 Google,他们的工程师每天能写多少的代码呢?

    近日,Google 的 AdMob 全栈工程师 Raymond Farias 发表评论表示:“根据以往的调查证明,一名高效的工程师每天能写 100-150 行代码。”那这样的数据怎么足够呢?由此,在 Quora 上,Oak Lomonosovas 对 Google 有多少名软件工程师进行了回答, 估计 Google 大约有 4 万名工程师。而在这些工程师中有些人代码产出量比较少,因为技术经理或者主管因为很多的会议或者假期并不会写太多的代码,因此,一位工程师 100 行应该是更为准确的猜测。

    说了这么些那么到底一个程序员一天要写多少行代码呢?

    有人回答说:“平均有20行有效代码每天,就是世界级水平了。绝大部分时间你都在反复改写、修订已有代码。”的确,程序员的编写代码的速度可能也就如此。而在国内某些公司,对于一些熟练的程序员,每天100行代码是才正常的生产率(包括需求分析,设计,编码,单元测试和系统测试)。

    我们来聊聊~

    每天 ,你有多长时间是在真的写代码?

    你是在搜索或者复制粘贴,还是自己动手丰衣足食?

    代码的数量能衡量一个程序员的水平吗?

    你有没有写过一行抵别人20行的高效代码?来讲讲?

    展开全文
  • 章 开始启程,你的第一行Android代码1.1.Android简介 1.1.1.Android系统架构 自下而上:Linux内核层(为硬件提供底层驱动。eg:显示驱动、音频驱动等)、系统运行时层(C/C++库和android运行时库,前者有Sqlite...

    1.1.Android简介
    1.1.1.Android系统架构

           自下而上:Linux内核层(为硬件提供底层驱动。eg:显示驱动、音频驱动等)、系统运行时层(C/C++库和android运行时库,前者有Sqlite和OpenGL等,后者有ART虚拟机和核心库等)、应用框架层(系统API,譬如ActivityManager、WindowManager、ContentProvider)、应用层(应用程序,譬如联系人、短信、自己开发的app等)。
           2020.3月逐渐推出Android 11版本。5.0使用ART虚拟机代替DVM虚拟机,提出Material Design来优化界面设计,5.0以上占比超过85%。
    1.1.2.Android应用开发特色
         (1)四大组件:Activity、Service、BroadcastReceiver、ContentProvider。Activity是应用程序显示的界面;Service后台默默运行,即使用户退出app;BroadcastReceiver使得app接受各处广播消息,也可以向外发出消息;ContentProvider可以使得app之间的数据共享。譬如:读取联系人;
        (2)丰富系统控件:Android界面系统控件和自定义控件。
        (3)SQLite数据库:轻量级、运算速度极快的嵌入式关系型数据库。支持SQL语法和系统API。
        (4)强大多媒体:音乐、视频、录音、拍照等。
    1.2.搭建开发环境
           JDK(java运行环境、工具集合、基础类库)+SDK(android开发工具包)+Android studio
    1.3.创建Android项目
    1.3.1.文件结构解析


    1.build:编译自动生成的文件
    2.gradle:gradle wrapper配置文件
    3..gitignore:哪些文件排除在版本控制之外
    4.Build.gradle:项目全局gradle脚本
    5.Grale.properties:全局gradle配置文件,配置相关属性
    6.gradlew和gradlew.bat:命令行界面执行gradle命令
    7.Local.properties:本机SDK路径
    8.Setting.gradle:制定项目所有引入的模块,目前只有app模块
    9.app目录:项目代码、资源
       9.1.build:系统自动生成文件
       9.2.libs:第三方jar包
       9.3.androiTest:Android test自动化测试用例
       9.4.Java:所有java代码放置地方,MainActivity.java
       9.5.res:图片、布局、字符串等
       9.6.AndroidManifest.xml:项目配置文件,譬如四大组件的定义
       9.7.Test:unit test自动化测试用例
       9.8.Build.gradle:app模块的gradle构建样本,项目构建相关配置
       9.9.Progurad-reles.pro:执行项目混淆规则
    10.res目录:图片、布局、字符串等


      10.1.drawable:图片
      10.2.Mipmap:图标(不同后缀更好兼容设备)
      10.3.Vaules:字符串、样式、颜色等。以下为values的内容


         通过R.string.app_name或者@string/app_name获得该字符串的引用。
    1.3.2.详解build.gradle文件
         最外层目录的build.gradle

    //Gradle是基于Groovy领域特定语言(DSL)来进行项目设置的。
    buildscript {
        ext.kotlin_version = '1.3.71'
        //闭包声明了两个代码仓库
        repositories {
            google() //google扩展依赖库
            jcenter()//第三方开源库
    
        }
        //使用classpath声明了两个插件
        dependencies {
            //Gradle插件的目的是构建android项目,与AS版本一致
            classpath 'com.android.tools.build:gradle:3.6.3'
            //Kotlin插件
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        }
    }
    
    allprojects {
        repositories {
            google()
            jcenter()
        }
    }

         app目录的build.gradle

    apply plugin: 'com.android.application'//应用程序模块,也可以设置为库模块
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'//kotlin模块和扩展功能
    //项目构建的各个属性
    android {
        compileSdkVersion 28  //指定项目编译版本
        buildToolsVersion "29.0.3"  //Android10.0SDK编译
        //项目更多细节配置
        defaultConfig {
            applicationId "com.example.myapplication"//应用唯一标识符
            minSdkVersion 21///项目最低兼容版本,最低兼容5.0
            targetSdkVersion 28//目标版本,在该版本充分测试,启用新特性,9.0
            versionCode 1 //项目版本号
            versionName "1.0"//项目版本名
            //启用Junit测试用例
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        }
        //生成安装文件的相关配置
        buildTypes {
        //一般一个release包(正式版安装文件配置),一个debug包(测试版安装文件配置)。
            release {
                minifyEnabled false//是否对项目混淆
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
                //选择混淆规则
            }
        }
    
    }
    //指定项目所有依赖关系。本地依赖(jar包或者目录)、库依赖(项目中的库模块)和远程依赖(jcenter仓库开源项目)。
    dependencies {
        //implementation fileTree本地依赖,libs目录底下的所有jar包  
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        //implementation远程依赖声明,标准远程库格式,androidx.appcompat:为域名部分,appcompat为工程名,1.0.2是版本号
        //Gradle构建时会检查本地是否有库缓存,没有会自动联网下载并添加到项目构建路径
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
        implementation 'androidx.appcompat:appcompat:1.0.2'
        implementation 'androidx.core:core-ktx:1.0.2'
        implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
        //implementation project是库依赖,譬如一个库名叫help,可以声明为(implementation project('help'))
        //声明测试用例库的
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'androidx.test.ext:junit:1.1.1'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    }

    1.4.日志工具
           Android中日志工具类是log。五个级别:log.v(verbose,琐碎的、意义最小的信息)、log.d(debug,调试信息)、log.i(info,重要信息,譬如分析用户数据行为信息)、log.w(warn,警告信息,潜在风险需要修复)、log.e(error,错误信息)。譬如:Log.d("MainActivity1","onCreate Create")。一个tag是传入当前类名,一个msg是打印具体内容。打印内容包括时间、进程号、类名和内容等。Logv可以看所有log信息。Logd可以看debug及以上级别的信息,依次类推。
          System.out.println相较于log,日志开关不可控、没有级别划分、不能添加日志标签。有四个过滤器。Show only selected applications显示当前选中程序的日志;firebase是开发者工具和基础架构平台,不用管。No filter没有过滤器,所有日志都会显示;edit fileter config自定义过滤器。

             

    展开全文
  • 1Python代码制作动态二维码

    万次阅读 多人点赞 2019-09-07 18:02:42
    近日在GitHub上发现了一个比较有意思的项目,只需要一Python代码就可以快捷方便生成普通二维码、艺术二维码(黑白/彩色)和动态GIF二维码。
  • 我的新书,《第一行代码 Android 第3版》已出版!

    万次阅读 多人点赞 2020-04-02 10:13:08
    《第一行代码——Android》这本书自2014年出版以来,已经过了6年头了。期间Android系统版本经历了4.0到10.0系统的巨大升级,开发技术也发生了翻天覆地的变化。在2016年的时候,我曾对书中的内容进行了大幅度的更新...
  • Python一行代码实现1到100之和

    万次阅读 2019-06-29 11:52:57
    行代码实现1到100之和: 第一反应等差数列求和公式。。。这个真的可以用 print((1+100)*100//2) 其实还可以使用python内置求和函数sum,sum()函数第一个参数接受可迭代的对象,如列表,字典等。 然后考虑使用...
  • 历久而新,我的新书《第二行代码》已出版!

    万次阅读 多人点赞 2016-11-23 09:49:08
    《第二行代码》中的内容我相信很多人都会非常感兴趣,因为里面确实加入了很多很新的知识。略粗概括一下的话,新增内容就包括有Android Studio、Gradle、Material Design、运行时权限、多窗口模式、RecyclerView、...
  • 《第一行代码》完结篇

    千次阅读 多人点赞 2019-06-17 15:14:04
    《第一行代码》是Android入门的第本书籍,刚开始接触是在17年10月份,那时重点关注了几章节:Activity、ContentProvider、Service、BroadcastReceiver以及SQLite,在那个时候开始对Android开发产生了一定的兴趣...
  • 前段时间,Google工程师RaymondFarias在社交媒体爆出他的工作量:“我的同事最近和我分享了一个调查,调查指出一名高效的谷歌工程师每天大概会写 100-150行代码。”为了证明自己是正确的,他统计了自己最高效的日...
  • 一行 Python 代码能实现什么丧心病狂的功能?

    万次阅读 多人点赞 2019-07-19 10:57:09
    你在 python 使用过程中用一行代码实现过哪些激动人心的功能呢?欢迎留言讨论。手头有 109 张头部 CT 的断层扫描图片,我打算用这些图片尝试头部的三维重建。基础工作之一,就是要把这些图片数据读出来,织成一个三...
  • 一行代码 第二版pdf及源码(分享)

    万次阅读 多人点赞 2018-08-31 01:16:53
    这里写链接内容
  • Android 第一行代码(第2版).pdf 网盘

    万次阅读 多人点赞 2019-05-15 09:20:47
    Android第一行代码(第2版).pdfhttps://pan.baidu.com/s/1LaLTBiNlpK4XybROoSUPbg
  • Idea快捷键之怎么移动一行代码

    万次阅读 多人点赞 2018-11-04 21:39:08
    Ctrl+Shift+上下键 上下移动代码
  • 一行代码(Android)第二版PDF和源码

    万次阅读 多人点赞 2019-01-22 14:34:34
    这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 写了那么久代码,都不知道自己每一个项目 总共写了多少 行代码 ,今天 它来了。 package cn.itcast.networkqualityinfo; import java.io.File; import java.io.IOException; /** * Created by 一个蔡狗 on 2019...
  • pycharm 删除一行代码、删除一个

    千次阅读 2019-07-11 13:00:07
    command+delete: 删除一行代码 option+delete:删除一个
  • 如何查看项目中有多少行代码

    千次阅读 2014-12-11 11:20:55
    这里仅说下Mac下,其他平台,参考一下就...打开终端,进入项目文件目录下,输入以下代码,稍等片刻。就可以了。 find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs grep -v "^$"|wc -l
  • Eclipse技巧--快速复制一行代码

    万次阅读 2017-06-12 21:20:56
    写代码的总有那么时候需要Ctrl+c,Ctrl+v,在eclipse中如果遇到需要快速在一行代码的上下复制行的话,有很方便的快捷键可以使用。将光标放到某行,按住Ctrl+Alt+Down,即可以在下面快速复制行,按住Ctrl+Alt...
  • R语言入门基础

    万人学习 2019-06-01 21:11:46
    本课程旨在帮助学习者快速入门R语言: 课程系统详细地介绍了使用R语言进行数据... 课程通过大量的案例详细地介绍了如何使用R语言进行数据分析和处理 课程操作实际案例教学,通过编写代码演示R语言的基本使用方法和技巧
  • Spark1.0.0发布一个多月了,那么它有多少行代码(Line of Code, LOC)?
  • 行代码多少

    千次阅读 2015-02-28 20:54:29
    我知道,“line of code”(LoC)是一种非常愚蠢的计量方式。不要急着喷我,请大家先听我讲讲我最近参与的两个项目,看一下一些非常...该项目是一个大流量的网络拍卖网站(每天有超过200万的页面访问量)。 代码库的
  • 一行python代码带你装B

    万次阅读 多人点赞 2018-11-29 10:19:20
    今天给大家介绍几有趣的一行代码。   1、心形字符,全中文的话可能会变形,大家可以试试中英文搭配。   print('\n'.join([''.join([('IloveU'[(x-y)%len('IloveU')]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*...
  • 10行代码集2000张美女图,Python爬虫120例,再上征途

    万次阅读 多人点赞 2021-05-19 12:44:06
    Python爬虫120例,又来啦
  • git定位追踪行或若干行代码修改历史记录 先使用git blame追踪溯源这些行代码修改的历史记录,比如: git blame -L 201,208 YanBaoFragment.java 这样会把YanBaoFragment.java代码文件的第201行到208行代码的...
  • 1.IDEA代码默认是折叠的,很不习惯,取消IDEA代码一行显示到setting中设置:File->Setting->Editor->General->Code Folding
  • python中将一行代码放在for循环那行

    万次阅读 2018-11-28 13:34:09
    s.split() for s in raw_sentences 相当于 for s in raw_sentences: s.split() 只是这么写方便一点
  • 一行命令快速统计项目代码行数

    千次阅读 2018-09-15 00:30:06
    平时看开源项目,经常想了解一下该项目到底有多少行代码,直接用3命令管道连接起来就可以解决,不需要使用复杂的工具。 比如统计java项目java代码总共多少行. find . -name *.java -exec wc -l {} \; | awk '{...
  • 抖音表白代码

    万次阅读 多人点赞 2019-07-22 15:02:51
    最近抖音上火了一个由小伙伴自己制作的一个表白代码,很多小伙伴都在问这个表白代码是怎么写的?小编今天就为大家带来了抖音表白代码汇总! 抖音表白代码 示例1: msgbox(“做我女朋友好吗?”) msgbox(...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,973,522
精华内容 1,589,408
关键字:

一个网站多少行代码