代码 订阅
代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。 源代码是代码的分支,某种意义上来说,源代码相当于代码。现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制指令,这种过程叫编译,它由通过编译器完成。 展开全文
代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。 源代码是代码的分支,某种意义上来说,源代码相当于代码。现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制指令,这种过程叫编译,它由通过编译器完成。
信息
外文名
code
定    义
开发工具支持的语言写的源文件
拼    音
dài mǎ
中文名
代码
操作者
程序员
代码词语解释
供把资料和指示输入自动计算机或制表机的任何符号系统;亦指这种符号的记录(如靠打孔资料卡片或磁带上的受磁点)。
收起全文
精华内容
下载资源
问答
  • 代码
    万次阅读 多人点赞
    更多相关内容
  • 疯狂Java讲义(第3版)源代码

    千次下载 热门讨论 2015-12-26 16:13:40
    疯狂Java讲义(第3版)配书光盘,书中的代码按章、按节存放,即第二章、第二节所使用的代码放在codes文件夹的02\2.2文件夹下,依此类推。 codes目录下有17个文件夹,其内容和含义说明如下: (1)01~18文件夹名...
  • 代码整洁 vs 代码肮脏

    万次阅读 多人点赞 2019-09-16 12:05:12
    写出整洁的代码,是每个程序员的追求。《clean code》指出,要想写出好的代码,首先得知道什么是肮脏代码、什么是整洁代码;然后通过大量的刻意练习,才能真正写出整洁的代码。 WTF/min是衡量代码质量的唯一标准,...

    写出整洁的代码,是每个程序员的追求。《clean code》指出,要想写出好的代码,首先得知道什么是肮脏代码、什么是整洁代码;然后通过大量的刻意练习,才能真正写出整洁的代码。

    WTF/min是衡量代码质量的唯一标准,Uncle Bob在书中称糟糕的代码为沼泽(wading),这只突出了我们是糟糕代码的受害者。国内有一个更适合的词汇:屎山,虽然不是很文雅但是更加客观,程序员既是受害者也是加害者。

    对于什么是整洁的代码,书中给出了大师们的总结:

    • Bjarne Stroustrup:优雅且高效;直截了当;减少依赖;只做好一件事
    • Grady booch:简单直接
    • Dave thomas:可读,可维护,单元测试
    • Ron Jeffries:不要重复、单一职责,表达力(Expressiveness)

    其中,我最喜欢的是表达力(Expressiveness)这个描述,这个词似乎道出了好代码的真谛:用简单直接的方式描绘出代码的功能,不多也不少。

    本文记录阅读《clean code》之后个人“深有同感”或者“醍醐灌顶”的一些观点。

    一、命名的艺术

    坦白的说,命名是一件困难的事情,要想出一个恰到好处的命名需要一番功夫,尤其我们的母语还不是编程语言所通用的英语。不过这一切都是值得了,好的命名让你的代码更直观,更有表达力。

    好的命名应该有下面的特征:

    1.1 名副其实

    好的变量名告诉你:是什么东西,为什么存在,该怎么使用

    如果需要通过注释来解释变量,那么就先得不那么名副其实了。

    下面是书中的一个示例代码,展示了命名对代码质量的提升

    # bad code
    def getItem(theList):
       ret = []
       for x in theList:
          if x[0] == 4:
             ret.append(x)
       return ret
    
    # good code
    def getFlaggedCell(gameBoard):
       '''扫雷游戏,flagged: 翻转'''
       flaggedCells = []
       for cell in gameBoard:
          if cell.IsFlagged():
             flaggedCells.append(cell)
       return flaggedCells
    

    1.2 避免误导

    • 不要挂羊头卖狗肉
    • 不要覆盖惯用缩略语

    这里不得不吐槽前两天才看到的一份代码,居然使用了 l 作为变量名;而且,user居然是一个list(单复数都没学好!!)

    1.3 有意义的区分

    代码是写给机器执行,也是给人阅读的,所以概念一定要有区分度。

    # bad
    def copy(a_list, b_list):
        pass
    
    # good
    def copy(source, destination):
        pass
    

    1.4 使用读的出来的单词

    如果名称读不出来,那么讨论的时候就会像个傻鸟

    1.5 使用方便搜索的命名

    名字长短应与其作用域大小相对应

    1.6 避免思维映射

    比如在代码中写一个temp,那么读者就得每次看到这个单词的时候翻译成其真正的意义

    二、注释

    有表达力的代码是无需注释的:The proper use of comments is to compensate for our failure to express ourself in code.

    注释的适当作用在于弥补我们用代码表达意图时遇到的失败,这听起来让人沮丧,但事实确实如此。The truth is in the code, 注释只是二手信息,二者的不同步或者不等价是注释的最大问题。

    书中给出了一个非常形象的例子来展示:用代码来阐述,而非注释

    bad
    // check to see if the employee is eligible for full benefit
    if ((employee.flags & HOURLY_FLAG) && (employee.age > 65))
    
    good
    if (employee.isEligibleForFullBenefits())
    

    因此,当想要添加注释的时候,可以想想是否可以通过修改命名,或者修改函数(代码)的抽象层级来展示代码的意图。

    当然,也不能因噎废食,书中指出了以下一些情况属于好的注释

    • 法务信息
    • 对意图的注释,为什么要这么做
    • 警示
    • TODO注释
    • 放大看似不合理之物的重要性

    其中个人最赞同的是第2点和第5点,做什么很容易通过命名表达,但为什么要这么做则并不直观,特别涉及到专业知识、算法的时候。另外,有些第一感觉“不那么优雅”的代码,也许有其特殊愿意,那么这样的代码就应该加上注释,说明为什么要这样,比如为了提升关键路径的性能,可能会牺牲部分代码的可读性。

    最坏的注释就是过时或者错误的注释,这对于代码的维护者(也许就是几个月后的自己)是巨大的伤害,可惜除了code review,并没有简单易行的方法来保证代码与注释的同步。

    三、函数

    3.1 函数的单一职责

    一个函数应该只做一件事,这件事应该能通过函数名就能清晰的展示。判断方法很简单:看看函数是否还能再拆出一个函数。

    函数要么做什么do_sth, 要么查询什么query_sth。最恶心的就是函数名表示只会query_sth, 但事实上却会do_sth, 这使得函数产生了副作用。比如书中的例子

    public class UserValidator {
        private Cryptographer cryptographer;
        public boolean checkPassword(String userName, String password) {
            User user = UserGateway.findByName(userName);
            if (user != User.NULL) {
                String codedPhrase = user.getPhraseEncodedByPassword();
                String phrase = cryptographer.decrypt(codedPhrase, password);
                if ("Valid Password".equals(phrase)) {
                    Session.initialize();
                    return true;
                }
            }
            return false;
        }
    }
    

    3.2 函数的抽象层级

    每个函数一个抽象层次,函数中的语句都要在同一个抽象层级,不同的抽象层级不能放在一起。比如我们想把大象放进冰箱,应该是这个样子的:

    def pushElephantIntoRefrige():
        openRefrige()
        pushElephant()
        closeRefrige()
    

    函数里面的三句代码在同一个层级(高度)描述了要完成把大象放进冰箱这件事顺序相关的三个步骤。显然,pushElephant这个步骤又可能包含很多子步骤,但是在pushElephantIntoRefrige这个层级,是无需知道太多细节的。

    当我们想通过阅读代码的方式来了解一个新的项目时,一般都是采取广度优先的策略,自上而下的阅读代码,先了解整体结构,然后再深入感兴趣的细节。如果没有对实现细节进行良好的抽象(并凝练出一个名副其实的函数),那么阅读者就容易迷失在细节的汪洋里。

    某种程度看来,这个跟金字塔原理也很像
    file

    每一个层级都是为了论证其上一层级的观点,同时也需要下一层级的支持;同一层级之间的多个论点又需要以某种逻辑关系排序。pushElephantIntoRefrige就是中心论点,需要多个子步骤的支持,同时这些子步骤之间也有逻辑先后顺序。

    3.3 函数参数

    函数的参数越多,组合出的输入情况就愈多,需要的测试用例也就越多,也就越容易出问题。

    输出参数相比返回值难以理解,这点深有同感,输出参数实在是很不直观。从函数调用者的角度,一眼就能看出返回值,而很难识别输出参数。输出参数通常逼迫调用者去检查函数签名,这个实在不友好。

    向函数传入Boolean(书中称之为 Flag Argument)通常不是好主意。尤其是传入True or False后的行为并不是一件事情的两面,而是两件不同的事情时。这很明显违背了函数的单一职责约束,解决办法很简单,那就是用两个函数。

    3.4 Dont repear yourself

    在函数这个层级,是最容易、最直观实现复用的,很多IDE也难帮助我们讲一段代码重构出一个函数。

    不过在实践中,也会出现这样一种情况:一段代码在多个方法中都有使用,但是又不完全一样,如果抽象成一个通用函数,那么就需要加参数、加if else区别。这样就有点尴尬,貌似可以重构,但又不是很完美。

    造成上述问题的某种情况是因为,这段代码也违背了单一职责原则,做了不只一件事情,这才导致不好复用,解决办法是进行方法的细分,才能更好复用。也可以考虑template method来处理差异的部分。

    四、测试

    非常惭愧的是,在我经历的项目中,测试(尤其是单元测试)一直都没有得到足够的重视,也没有试行过TDD。正因为缺失,才更感良好测试的珍贵。

    我们常说,好的代码需要有可读性、可维护性、可扩展性,好的代码、架构需要不停的重构、迭代,但自动化测试是保证这一切的基础,没有高覆盖率的、自动化的单元测试、回归测试,谁都不敢去修改代码,只能任其腐烂。

    即使针对核心模块写了单元测试,一般也很随意,认为这只是测试代码,配不上生产代码的地位,以为只要能跑通就行了。这就导致测试代码的可读性、可维护性非常差,然后导致测试代码很难跟随生产代码一起更新、演化,最后导致测试代码失效。所以说,脏测试 - 等同于 - 没测试。

    因此,测试代码的三要素:可读性,可读性,可读性。

    对于测试的原则、准则如下:

    • You are not allowed to write any production code unless it is to make a failing unit test pass. 没有测试之前不要写任何功能代码
    • You are not allowed to write any more of a unit test than is sufficient to fail; and compilation failures are failures. 只编写恰好能够体现一个失败情况的测试代码
    • You are not allowed to write any more production code than is sufficient to pass the one failing unit test. 只编写恰好能通过测试的功能代码

    测试的FIRST准则:

    • 快速(Fast)测试应该够快,尽量自动化。
    • 独立(Independent) 测试应该应该独立。不要相互依赖
    • 可重复(Repeatable) 测试应该在任何环境上都能重复通过。
    • 自我验证(Self-Validating) 测试应该有bool输出。不要通过查看日志这种低效率方式来判断测试是否通过
    • 及时(Timely) 测试应该及时编写,在其对应的生产代码之前编写

    该文章通过 https://openwrite.cn/ 工具创造并群发。

    展开全文
  • 代码重构(C# & ASP.NET版),中文完整扫描版

    千次下载 热门讨论 2014-01-03 17:34:50
    重构是迅速发现并修复有问题的代码的一种高效的方式。在《代码重构(C#&ASP.NET版)》中首次提供了在c#和asp.net中进行重构的专业方法,您将学习如何运用重构技术管理和修改代码。此外,还将学习如何从头开始构建原型...
  • MATLAB - 从网上收集的各种车牌识别 多个程序打包。 有神经网络和模板识别
  • mybatis-generator 代码自动生成工具---内有详细介绍

    千次下载 热门讨论 2016-03-09 15:45:51
    mybatis-generator 代码自动生成工具,里面有详细介绍
  • 远程控制源代码

    千次下载 热门讨论 2013-07-29 00:11:01
    完整开源的远程控制 编译说明: ... 所以写了一个桌面服务端程序RemoteScreenTest,以方便调试服务端代码。 2.Scrc.rar是远程控制客户程序 Scrc目录下的 ScrSvc为服务程序,也是远程控制系统的服务端
  • 一文讲透低代码

    千次阅读 多人点赞 2022-05-15 23:23:32
    目录一、了解低代码开发平台1、低代码的定义与发展二、低代码的特点三、低代码的技术路线1、行业观点2、低代码的技术路线四、低代码开发者有哪些五、低代码赋能业务人员六、低代码对业务开发者的价值七、低代码的...

    在这里插入图片描述


    近年来,在数字经济迅速发展的背景下,越来越多的企业开始建立健全业务系统、应用、借助数字化工具提升管理效率,驱动业务发展,促进业绩增长。在这一过程中,和许多新技术一样,低代码(Low-code)开发被推上了“风口”。

    一、低代码的定义与发展

    低代码开发平台通过抽象和最小化手工编码的方式,为开发和部署定制化应用提速。作为最低标准,低代码平台必须具备低代码能力(如模型驱动、可编程的可视化开发方式等),能用于开发包含有用户界面、业务逻辑、工作流和数据服务的完整应用程序。
    2014年,Forrester提出了低代码的概念。低代码是一种软件开发技术,衍生于软件开发的高级语言,让使用者通过可视化的方式,以更少的编码,更快速地构建和交付应用软件,全方位降低软件的开发、配置、部署和培训的成本。

    为了实现这一目标,低代码开发平台通常由4部分构成:

    1. 可视化设计器:具备可视化定义UI,工作流和数据模型的设计器,且在必要时可以支持手写代码。
    2. 服务器程序:承载可视化设计器构建的应用,供最终用户通过多终端访问,具体形式如私有化部署的服务程序、运行在云端的容器或服务等。
    3. 各种后端或服务的连接器:能够自动处理数据结构,存储和检索。有些低代码开发平台将其集成到了可视化设计器中。
    4. 应用程序生命周期管理器:用于测试、暂存、构建、调试、部署和维护应用程序的自动化工具。

    二、低代码的特点

    1. 不能仅用于或主要应用构建特定行业的应用,不能仅限于在依赖其他解决方案或平台上运行。
    2. 需要能提供给IT技术人员使用,不能只给平民开发者使用。
    3. 全生命周期:覆盖应用和相关资源的开发、版本管理、测试、部署、执行、管制、监控和管理的全生命周期。
    4. 内建数据存储:内建数据存储机制,不能依赖其他的数据库等存储服务。
    5. 数据与逻辑设计:支持用来设计数据结构和应用逻辑。
    6. 完整的界面设计:支持创建完整的应用界面,不能仅支持创建表单或管理界面。
    7. 第三方集成:支持引入第三方API或事件驱动机制。
    8. 自动运维:提供自动化的应用升级和版本管理机制。
    9. 多环境部署:支持针对多环境的一键部署,包括开发环境、测试环境、验证环境和生产环境。
    10. 社区共享:提供可供访问的应用市场,用来共享组件、模块、连接器和模板。

    三、低代码的技术路线

    1、行业观点

    面向专业开发者的低代码平台厂商专注于核心应用场景,采用模型驱动架构,支持混合云环境。厂商以降低开发者服务为目标设计产品功能,并赢得了开发者的信任。面向业务开发者的低代码平台厂商简化了开发工作,让用户通过数据表单和可定制的工作流完成开发。厂商尝试挖掘平民开发者带来的增量,将其产品宣传为无代码/零代码。
    表单驱动以数据为核心,通过拖拽构建数据表方式展开业务分析设计。适合人事行政、资料归档、OA审批、客户管理等简单任务,对完全零基础的销售、管理人员友好,可以做到完全去IDE化,像搭积木一样按流程构建程序逻辑,更贴近无代码开发。模型驱动对软件所涉及到的功能进行建模,以应用开发平台为核心,承载各种开发工具和复杂逻辑,并将其可视化,辅以少量代码。适合作为开发者技术中台核心,快速按照企业需求产出一整套系统。模型驱动与表单驱动面向不同人群与不同任务,二者并无优劣之分。

    2、低代码的技术路线

    1. 将数据与业务逻辑合一的表单驱动低代码,衍生于ERP、OA中广泛使用的可配置化技术,使用体验类似于成品软件的实施;
    2. 数据与逻辑完全分离、各自独立的模型驱动低代码,是可视化开发技术发展的产物,体验上承袭了传统软件开发的生命周期。
      国际主流研究机构将两种技术路线的产品分开调研,Gartner将模型驱动视为低代码开发平台的基础要求;Forrester将表单驱动的低代码平台视作“面向业务开发者的低代码开发平台”,与模型驱动的“面向专业开发者的低代码开发平台”进行了区分。

    四、低代码开发者有哪些

    低代码技术显著降低了软件开发的技术门槛,让更多人可以参与到软件开发中,进一步扩大软件开发者的规模,加速信息化建设。都有谁适合使用低代码技术开发软件?

    从事低代码开发人员可以分成两类:服务于企业IT部门或软件的公司的IT技术人员(包含但不限于程序员、项目经理、实施顾问等);以及来自业务部门,本职工作与IT无关但参与到软件开发中的业务开发者。

    低代码赋能IT技术人员

    这里的IT技术人员是与“业务开发者”相对的概念,包含但不限于程序员,特指在企业或信息化提供商中,本职工作为企业信息化相关的技术人员。IT技术人员主要集中在企业信息化部门和为企业提供信息化服务(如外包开发、系统集成等)的软件公司中,典型岗位有项目经理、架构师、程序员、测试人员、实施和运维人员、DevOps等。

    整体而言,IT技术人员具备以下特征:

    • 具备技能:通常具有计算机相关的教育背景,或通过自学的方式掌握了一定的IT技能(如编程语言、数据库管理、配置管理、系统管理等)
    • 考核指标:能否保质保量地满足本单位或客户的信息化需求是核心指标
    • 学习意愿:需要紧跟技术发展趋势,跟随团队和企业技术决策,及时更新技术能力

    五、低代码赋能业务人员

    在低代码技术被命名之前,国际知名的研究机构们就提出了“业务开发者/平民开发者”的概念。这两个概念与专业开发者对应,专指那些向业务部门汇报但开发能力来辅助业务发展的员工。这些人和向IT部门报告的专业开发者不同,他们的主要工作职责是业务发展,软件开发只是一个辅助性工作,通常不会有相关的考核指标,得到的资源也较为有限。在传统的编码开发时代,业务开发者较为少见,有能力从事辅助性软件开发的业务人员主要集中在数据分析师、软件公司的程序员(程序员的主要工作是开发软件产品或对外交付软件项目,而不是辅助性的软件工具)等具备编程能力的人群。而低代码技术的出现,让更多的业务人员可以成为业务开发者,比如构建订单管理应用的销售主管、人事档案系统的HR、库存盘点APP的库管人员等。

    整体而言,业务开发者具备以下特征:

    • 具备技能:通常没有计算机相关的教育背景,部分掌握Excel等办公软件的常用功能
    • 考核指标:能否完成业务目标是核心指标,通常不包含信息化建设相关内容
    • 学习意愿:不得不参与软件开发,通常没有主动学习IT相关技术的动力和投入

    六、低代码对业务开发者的价值

    与帮助IT技术人员提升软件开发效率不同,低代码对于大多数业务开发者而言,是解决了“能不能开发软件”的问题。这就意味着,业务人员可以根据自身的应用场景,快速构建起对应的软件应用,减少了与IT部门协调确认的沟通成本,在IT部门资源紧缺的背景下,尽快扫清信息化死角。
    业务开发者构建的应用主要有以下几类,除数据报表应用的业务逻辑复杂度较高而且通常需要与第三方系统集成,对业务开发者有较高的学习能力要求外,其他应用场景相对简单,更适合业务开发者使用低代码构建。

    七、低代码的应用价值

    低代码开发平台可以显著提升软件开发的效率,可广泛应用于各行业数字化转型升级。具体而言,开发者可以使用低代码开发平台,更简单、更快速地构建个性化应用,打造数字化平台。
    在这里插入图片描述

    八、低代码发展现状

    随着互联网资本的介入,中国的低代码产业于2019年进入高速发展阶段。目前,近百家低代码厂商推出了不同类型的低代码平台产品,形成了4大商业模式,3种渠道模型。不论是企业信息化部门还是软件公司都能从中找到与自身诉求和状况相匹配的解决方案。

    在这里插入图片描述
    在这里插入图片描述

    九、《低代码开发实战——基于低代码平台构建企业级应用》

    在这里插入图片描述
    国内低代码领军者葡萄城公司专业技术团队力作。

    涵盖16个大知识点,100多分钟视频讲解,赠送低代码企业级开发平台。

    低代码开发平台是不写或者只写极少量代码即可实现业务功能的软件平台,可以助力企业快速完成数字化转型。

    本书循序渐进地讲述了数据库设计、UI设计、业务逻辑处理、报表、权限等技术。本书共8章,以当下使用者*多的企业级低代码产品活字格为例,内容包括概述、数据库设计、客户端页面设计实战、服务端逻辑设计实战、报表设计实战、配置权限、编码扩展与系统集成实战、低代码应用的部署。

    上一篇:Java学习路线总结,搬砖工逆袭Java架构师

    下一篇:Java基础教程系列

    展开全文
  • 代码精进之代码规范(二)

    千次阅读 2022-03-19 11:04:02
    文章目录代码整理的关键逻辑写好注释写好声明的“八项纪律”Java注解 代码整理的关键逻辑 一个好的程序员,要识别并且区分代码块,让它们易于阅读和辨认。 程序代码分块时,我们需要注意以下三个点: 保持代码块的...

    代码整理的关键逻辑

    • 一个好的程序员,要识别并且区分代码块,让它们易于阅读和辨认。

    程序代码分块时,我们需要注意以下三个点:

    • 保持代码块的单一性,一个代码块只能有一个目标。代码块内所有的内容都是为了一个目标服务的,不能把无关的内容放在同一个代码块里。同一个代码块里语句的相互联系比与相邻代码块里的语句关系更为紧密;
    • 注意代码块的完整性。代码块是一个完整的信息块。一个代码块要表达一个相对完整的意思,不能一个意思没说完就分块了,就像话说了半句一样;
    • 代码块数量要适当。代码块过多,会让人觉得路径太长,逻辑复杂,不容易阅读理解。一个基础的代码块最好不要超过 25 行(通常显示屏小半个页面),否则就会有增加阅读理解的困难。

    给代码分块的办法之一,就是有效地使用空白空间。

    • 同级别代码块靠左对齐:阅读的习惯顺序是从左到右,代码也如此。因此不同行,但同级别的代码要靠左对齐。
    • 同级别代码块空行分割:阅读代码总是从上往下读,不同行的同级别的代码块之间,要使用空行分割。
    • 下一级代码块向右缩进:区分不同行的不同级别的代码,可以使用缩进。缩进的目的是为了让我们更直观地看到缩进线,从而意识到代码之间的关系。
    • 同行内代码块空格区隔:位于同一行内的代码块,同样需要注意。我们可以使用空格区分开不同的逻辑单元。
      • 比如逗号分隔符后要使用空格,以区分开下一个信息。
      • 双目运算符或者多目运算符,运算符前后都要使用空格。

    一个重要的原则是,每一行代码仅仅表示一个行为。这样每一行的代码才是一个常规大小的、可以识别的基础信息块。

    代码分块的基本思想,同样适用于换行。基本的换行规范需要考虑以下三点

    • 每行代码字符数的限制。一般情况下,每行代码不要超出 80 个字符( 80 个字符是传统终端的宽度,比如 vi 编译器)。由于屏幕尺寸和代码阅读终端的变化,现在的很多规范,开始使用 120 个字符的限制。所以我们编码的时候,需要留意一下;
    • 如果一行不足以容纳一个表达式,就需要换行;
    • 一般的换行原则包括以下五点。
      • 在逗号后换行。
      • 在操作符前换行。
      • 高级别的换行优先。
      • 新的换行与上一行同级别表达式的开头对齐。
      • 如果上述规则导致代码混乱或者代码太靠右,使用 8 个空格作为缩进(两个缩进单位)。

    写好注释

    几种常见注释类型

    • 第一种类型,是记录源代码版权和授权的,一般放在每一个源文件的开头,说明源代码的版权所有者,以及授权使用的许可方式,或者其他的公共信息。
    • 第二种类型,是用来生成用户文档的,比如 Java Doc。 这部分的作用,是用来生成独立的、不包含源代码的文档。 这些文档帮助使用者了解软件的功能和细节,主要面向的是该软件的使用者,而不是该软件的开发者。 比如 Java 的 API 规范的文档。
    • 第三种类型,是用来解释源代码的。换句话说,就是帮助代码的阅读者理解代码。这是大家默认的注释类型。

    三种风格的注释

    • 针对第一种注释类型,也就是固定的版权和授权信息,使用一般的星号注释符(/-/)。注释块的首行和尾行只使用星号注释符,中间行以缩进一个空格的星号开始,文字和星号之间使用一个空格。注释的每行长度限制,和代码块的每行长度限制保持一致。
    • 针对第二种注释类型,即生成用户文档的注释,使用 Javadoc 要求的格式,文档注释符(/-*/)。 除了首行使用特殊的文档注释符(/),其他的格式和第一种风格保持一致。
    • 针对第三种注释类型,也就是代码解释注释,只使用行注释符(//)。 每行长度限制,和代码块的每行长度限制保持一致。

    Code Tells You How, Comments Tell You Why.

    写好声明的“八项纪律”

    取一个好名字

    • 既然是标识符,就涉及到取名字的问题。

    一行一个声明

    • 不推荐在同一行里声明多个变量,即使这一行很短。
      在这里插入图片描述
    • 不要在同一行声明不同类型的标识符。
      在这里插入图片描述
    • 表示数组的中括号“[]”是类型的一部分,而不是标识符的一部分。无论是 Java 语言,还是在 C 语言的代码中,都建议把数组符号放在类型该在的地方。
      在这里插入图片描述

    局部变量需要时再声明

    • 标识符的声明应该和它的使用尽可能地靠近,特别是局部变量的标识符声明。这样在视觉上,标识符的定义和使用,可以方便我们阅读和记忆。
      在这里插入图片描述

    类属性要集中声明

    • 同样是为了阅读和记忆,类变量的声明则要集中。因为类变量无论是私密变量,还是公开变量,在类的方法实现中,随时都可以调用。我们需要把这些变量放在一起,以便于修改和查找。
      在这里插入图片描述

    声明时就初始化

    • 除非变量的初始值依赖于更多的条件,或者涉及到一定的计算,否则,声明时就应该完成初始化。声明时初始化,可以防止初始化的遗漏或者不必要的代码重复。
      在这里插入图片描述

    尾随的花括号

    • 一般来说,类声明和方法声明后,要使用花括号把实现的代码包括进来。花括号的使用语法很随意。我不建议代码中混杂地使用不同的格式。推荐一种方法:
      • 左括号不要单独成行,要紧随在语句尾部,以一个空格隔开;
      • 右括号单独一行。
        在这里插入图片描述

    靠紧的小括号

    • 小括号的使用语法也可以很随意。小括号一般用来识别一个标识符是不是方法标识符,所以建议小括号要紧靠着标识符,中间不要有空格。
      在这里插入图片描述

    搜索优化的换行

    • 搜索优化是我们编写代码时要考虑的一个因素。搜索优化既包括针对搜索引擎的优化(SEO),也包括针对编辑器(vi, Netbeans)以及系统工具(grep)的搜索优化。
      在这里插入图片描述
    • 这些常用的搜索模式给了我们一个很好的启示:语义相关的词语,常见的搜索模式,要尽量放在用一行。
      在这里插入图片描述

    Java注解

    Java 注解是 Java 1.5 引入的一个工具,类似于给代码贴个标签,通过注解可以为代码添加标签信息。这些标签信息可以添加在字段、方法和类上。开发工具、部署工具或者运行类库,可以对这些标签信息进行特殊的处理,从而获得更丰富的功能。注解已经成了 Java 生态系统一个非常重要的技术。使用注解可以大幅度降低我们的开发强度,提高工作效率,减少潜在的错误。像 Java 类库一样,注解也有了越来越丰富的定义和规范,成了我们需要掌握的重要技术之一。

    • 这里只讨论编写规范的代码时,该怎么合理地使用注解,具体就是 Override、Deprecated、SuppressWarnings 这三个注解。更详细的 Java 注解技术和规范,以及如何自定义注解,需要你参考相关的文档。

    你知道的越多,你不知道的越多。

    展开全文
  • 钉钉在6.0发布会暗示:“低代码开发是云计算之后的下一场IT革命。” 发布会所提到的应用开发平台,就是低代码开发。 那什么是低代码开发? 所谓低代码开发,即无需编码或只需少量代码就可以快速生成应用程序。也...
  • 如何评价代码质量的高低? 最常用的评价标准有哪几个? 1. 可维护性(maintainability) 2. 可读性(readability) 3. 可扩展性(extensibility) 4. 灵活性(flexibility) 5. 简洁性(simplicity) 6. 可复用性...
  • python动态心形代码-python心形代码

    万次阅读 2020-11-01 13:16:33
    之前看到python一行代码就可以在控制台打印心形,感觉非常神奇,昨天突然想起来其实java应该也是可以的,在stream加持执行下,分享代码如下:intstream.range(-15, 15).map(y -> -y).foreach(y -> intstream.r...
  • Static静态代码块以及各代码块之间的执行顺序

    万次阅读 多人点赞 2019-10-16 19:56:49
    文章目录代码块的分类1、静态代码块(也叫静态块、静态初始化块)2、构造代码块(也叫构造初始化块)3、代码块(又叫普通代码块、初始化块)执行顺序的代码测试继承中各代码块的执行顺序 代码块的分类 基本上代码...
  • NewTech:低代码(0代码/无代码,无需代码)开发的简介以及如何选择最合适的低代码开发工具 低代码Low-Code和低代码开发平台LCDP的简介 一般来讲,我们常说的低代码其实就是指低代码工具或者低代码开发平台。低...
  • 手机端分享的代码,样式漂亮

    热门讨论 2014-09-04 11:23:56
    手机端分享的代码,分享的样式类似 uc浏览器中的,非常漂亮; css,js,html
  • 深入理解OpenCV:实用计算机视觉项目解析-源代码.zip 资源是从华章出版社官网下载的 受上传文件大小限制 2个文件下载完成后解压即可
  • html爱心表白代码(最全)

    万次阅读 多人点赞 2020-12-20 18:12:32
    代码1: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>跳动爱心</title> <style> *{ padding: 0; margin: 0; } body{ background-c
  • 当我们想展示自己写的代码给别人看的时候,我们想让代码保持原有的格式,并且要美观一点,有一个在线工具可以帮助我们这样做。 Carbon是开源免费的代码图片生成器,可以为我们生成漂亮的代码图片。操作也是非常简单...
  • android 经典代码例子

    万次下载 热门讨论 2011-06-14 15:12:17
    android 经典代码例子,若干个。。。。
  • 全球首款通用无代码开发平台 iVX 介绍。
  • 什么是低代码(Low-Code)?

    万次阅读 多人点赞 2020-11-17 15:28:22
    那么在后疫情时代,究竟需要什么样的新技术,才能真正解放IT生产力,加速社会数字化转型,Make The World Great Again?我认为是低代码(Low-Code)。
  • 【好玩的代码雨(附源代码)】

    万次阅读 多人点赞 2020-11-07 19:46:25
    代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>代码雨</title> <style type="t
  • 初学者代码大全(c语言必背100代码)

    万次阅读 多人点赞 2021-05-22 02:59:29
    一个完全入门初学者如何学代码,读代码和写代码,,我想学代码不知道方向谁能给我指明一个方向?1、学代码:前提是你的复有一个比较系统的学习.认真完成每一个课程中的案例.2、读代码:分制两步走:前期能读懂自己写的代码....
  • 多种代码生成炫酷代码雨(推荐)

    万次阅读 多人点赞 2020-09-08 09:07:47
    三种代码生成代码雨 本人主页 文章目录三种代码生成代码雨一、html代码雨效果图:代码块二、vb代码雨效果图:代码块三、bat代码雨效果图:代码块 一、html代码雨 效果图: 代码块 <!DOCTYPE html> <...
  • 这四个才是真正的低代码平台

    万次阅读 多人点赞 2021-04-22 00:13:42
    很多人不明白低代码平台怎么莫名其妙就火了。当然,很多人也不明白为啥微软要并购Github。我先卖个关子。我最推崇的低代码平台一共四个:微软Power Platform:开发语言的老玩家搞的...
  • 代码是经常用于编程和基于算法的字段的术语;它是一种允许程序员表示算法实现的方法。简单地说,我们可以说它是算法的熟化表示。本篇文章就来带大家简单认识一下伪代码,介绍简单的C语言伪代码怎么写,希望对大家...
  • Git之如何解决更新代码的冲突问题

    万次阅读 2022-03-29 20:36:53
    使用 Git 来管理自己的代码仓库,如果忘记远程仓库的代码 git pull 到本地,就直接开始编写代码,等写到一半的时候,突然想起来还没有 pull 代码,然后执行同步的时候,遇到了冲突: 可以看到执行报错,大致意思...
  • 88个经典Android应用程序打包下载(源代码),有助于参考学习
  • vscode格式化代码快捷键

    千次阅读 2022-03-11 18:47:17
    前端小白,旁边的人一直推荐使用vscode来写代码。 新人写的代码格式比较乱,不知道如何使用快捷键格式化代码。使用Java的格式去设置,发现不起作用。 在这里记录一下: 在Windows中,vscode格式化代码快捷键是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,328,864
精华内容 7,331,545
关键字:

代码

友情链接: CA3280_datasheet.rar