`
mayi140611
  • 浏览: 1173 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

写代码方面的一些心得

 
阅读更多
1、关于如何提高写代码的效率?
          1)关于使用伪代码
          写代码方面,发现自己以前写的东西现在有点忘记了,有时需要想好久才能想的起来,而且开始写的代码中间要改动n次,所以会很乱,如何改进?一个初始的点子就是先写伪代码,等到伪代码写通以后再写代码,这样的好处是可以减少改动的机会!同时由于伪代码较简洁,这样可以使得代码的结构变清晰
          须知,磨刀不误砍柴工!
          2)关于代码的复用
          如果代码能够很大程度上实现复用,则无论是在脑力还是体力上都是很大的节约。如何实现?一方面,编程前要从系统的层次上规划好,即想好每部分要解决什么问题和问题大致用什么解决方法;然后呢?就是编写伪代码去实现每个部分,具体的算法啦,在设计算法时,最好引入封装的概念,即若一段代码可以解决某个问题,则把它封装起来,留好接口,用到时只要调用这个方法就可以了;还有解决问题的模式啦,需要定义哪些变量及变量采用什么类型、变量的命名规则,要用到哪些类等等,都在这时解决掉;
          最后就是实实在在的编写代码,如果前两部分解决的好的话,这一步就真是体力活了。
          3)关于代码的可读性
          首先,代码必须简洁,减少重复的代码,简洁了可读性自然也就高了;然后,就是变量和方法的命名一定要统一,不要怕长;再说的就是,合理使用数组,滥用数组会使得可读性降低;最后,每个变量和方法前都要添加注释。

2、Java中的一些具体问题

          1)关于static量和其它变量
          static量属于类,不属于对象。隐含的意思就是说不管你新建多少个对象,static量都只有一个;而其它变量则是属于对象!!!如 类A的static量num=0,它有三个对象a,b,c。若a中调用num并把它的值改为1,则b,c中的num值也会跟着改变;如果再新建一个类A的对象d,其num值也是1。   这是因为static量至始至终只占用一个内存单元,而其它变量则会随着新建对象的同时分配新的内存单元。

          2)关于对象实体和对象引用
          考虑这样一段代码,其中类car,对象引用a,b:
          car a=new car();
          car b=new car();
          这段代码在内存中开辟了两个内存单元,并且分别给他们去个名字(对象引用名)来指向它们。正如一个人可以有很多称呼一样,一个内存单元同样可以有很多引用名。如下面一段代码:
          car c=a;
          则a指向的内存单元又多了一个称呼c。那么下面一段代码是什么含义呢?
          b=a;
          它是把a指向的内存单元的值赋给b,从而使得b指向的内存单元的值等于a指向的内存单元的值了么?No!这段代码的意思是说,b不再指向原来的内存单元,而变为指向现在a指向的内存单元,即现在a指向的内存单元有3个名字a,b,c。而b原来指向的内存单元已经不再叫b了,如果其没有其它的引用指向它,则它没有了名字,再也无法被使用,变为垃圾!
          那么如何把引用a指向的内存单元的值赋给b指向的内存单元呢?需要利用其内部的成员变量实现。如a有一个成员变量int i=0;b有一个成员变量int j。则通过j=i;可以把b指向的内存单元中j的值变为0.

          还有一个很需要注意的问题,即使引用c指向a时,其成员变量i=0. 若现在出现如下代码:
          i=1;
          则c调用i时c.i的值也变为1.而b中的j值仍为0.相信只要很好的理解了前面关于内存单元的分配问题,这一点也就很容易理解了。

                                                                                                                                                                                                           Mayii
分享到:
评论

相关推荐

    c++ 源代码阅读心得

    以下是我从“c++ 源代码阅读心得”这个主题中总结的一些关键知识点: 1. **理解C++基础**:在开始阅读C++源代码之前,对基本语法、类、对象、函数、指针、模板等核心概念的理解是必不可少的。熟悉标准库,如STL...

    c++ primer plus第五版源代码与编程心得

    总之,《C++ Primer Plus 第五版》的源代码与编程心得是学习C++的宝贵资源。通过阅读和实践,我们可以深化对C++语言的理解,提升编程技巧,并且吸取前人的经验教训,避免在编程旅程中走弯路。这本书不仅适合初学者,...

    Java写的cmm词法分析器(源代码)及javacc学习心得文档

    在Java写的CMM词法分析器源代码中,我们可以期待看到以下几个关键部分: 1. **词法规则定义**:通常使用正则表达式来定义不同的标记类型。例如,标识符、关键字、数字、运算符等,每种类型都有其对应的模式。 2. *...

    Linux内核代码阅读心得体会.pdf

    Linux内核代码阅读心得体会详细解析: Linux内核启动 Linux内核启动是理解操作系统启动过程的一个重要组成部分。文档中提到的几个关键步骤包括内核的生成、BIOS的作用、setup辅助程序、内核解压缩、开启页面映射和...

    网页设计心得体会.doc

    然而,王建云同学也意识到自身的不足,尤其是在网页设计软件的深度运用和网页制作代码方面。他认识到,想要设计出更专业、更完善的网页,必须掌握HTML、CSS等网页制作代码。虽然目前他在代码运用上还有困难,但他已...

    c++指针方面的心得

    根据提供的文件信息,标题与描述均为“C++指针方面的心得”,这表明文章将主要围绕C++语言中的指针概念及其使用技巧进行探讨。由于标签部分与内容并不相关,因此我们将忽略这部分信息,直接从标题和描述中提取并展开...

    GPT使用感悟与心得:Python篇

    大概2天时间,帮我写了200-300行左右的有效代码,而且一些基础的代码还是很轻松就写出来了。如果我自己一边学一边做的话,我估计我需要大概半个月的时间才能学习到这个程度。所以对我来说帮助还是挺大的,我相信对于...

    安卓期末课程设计、一款仿学习i强国的强国通App 包含源代码、使用手册和心得体会

    这个应用包含了完整的源代码、使用手册以及开发者的心得体会,对于学习Android移动软件开发的学生来说,这是一个宝贵的资源。以下是关于这个项目的详细知识点: 1. **Android应用程序开发基础**:首先,你需要了解...

    JavaCC学习心得

    下面是对 JavaCC 的学习心得,分为工作原理、使用方法和深层认识三个方面。 工作原理: 1.1 结构综述: JavaCC 文件可以分为三个部分:参数列表(Options)、解释器 JAVA 代码和一系列产物(Production)。参数...

    latex心得 latex心得 latex心得

    本文将从多个方面分享使用LaTeX的心得体会,包括但不限于安装配置、常用技巧、高级应用等。 #### 一、LaTeX的基础配置与环境搭建 ##### CJK与Emacs的集成 - **CJK**: 是一套支持中文排版的LaTeX宏包,能够帮助用户...

    考试类精品--年南航计算机学院操作系统课程的实验代码-实验心得-上机考试练习-笔试复习笔记.zip

    实验代码这部分可能包括了操作系统中的一些核心模块,如进程管理、内存管理、文件系统等的实际实现,帮助学生通过编程实践深入理解操作系统的运作机制。实验心得则是学生在完成实验后对所学知识的理解和感悟,通常...

    PowerBuilder学习心得

    PowerBuilder 学习心得总结 本文总结了 PowerBuilder 学习过程中的重要知识点,涵盖了事件、配置文件、应用对象、编译发行、Idle 事件、函数与代码存储、连接数据库、ConnectionBegin 和 ConnectionEnd 事件、...

    python课设全套资源,换上姓名学号即可,内有源代码,流程图,心得体会,任务设计,代码详解

    这个"python课设全套资源"的压缩包提供了完成一个Python课程设计项目所需的所有资料,包括源代码、流程图、心得体会、任务设计以及代码详解,非常适合学生或者初学者进行实践学习。 首先,课程设计报告(003)...

    很好的VHDL学习资料 VHDL编程的一些心得体会 VHDL语言学习总结

    总之,VHDL作为硬件设计的重要工具,其学习涵盖了基础语法、数据类型、过程控制、库和包的使用、层次化设计、仿真验证以及综合等多个方面。只有深入理解和熟练应用这些知识点,才能在VHDL设计中游刃有余,创造出高效...

    个人心得 下载个人心得 下载个人心得 下载

    从给定的文件信息来看,标题、描述以及标签均提到了“个人心得”,但实际内容并未提供具体的心得内容,而是包含了一些似乎是编程语言或代码片段的信息。这可能意味着文件试图传达的是关于IT领域的个人经验或者是在...

    SQL数据库心得资源下载

    本资源包“SQL数据库心得”聚焦于分享关于SQL数据库的一些重要概念、最佳实践和常见问题,旨在帮助用户提升SQL技能。 首先,SQL的基本操作包括数据的增、删、改、查(CRUD)。创建(Create)数据库和表结构,通过...

    java学习心得体会

    这篇心得体会旨在分享我在学习Java过程中的关键知识点,希望能为初学者提供一些指导和启示。 首先,Java的基础至关重要。这包括对基本语法的理解,如数据类型(如整型、浮点型、字符型、布尔型)、变量的声明与赋值...

    delphi开发心得.doc

    总的来说,Delphi开发心得涉及到代码规范、数据库连接和业务逻辑处理等方面,这些都是开发高效、稳定的Delphi应用程序时必须掌握的核心技能。通过不断实践和学习,开发者可以更加熟练地运用这些工具和方法,提升自己...

    CSAPP和SOCKET的一些心得

    《CSAPP和SOCKET的一些心得》 在计算机科学与编程领域,"CSAPP"(《计算机系统:一种程序员的视角》)是一本经典的教材,它深入浅出地讲解了计算机系统的底层运作机制,包括硬件、操作系统、内存管理、编译器等方面...

    安卓期末课程设计、英语四级君 包含源代码、使用手册和心得体会

    在本项目中,我们主要探讨的是一个针对安卓平台的移动应用程序,它被设计用于帮助学生进行英语四级备考,包括提供源代码、使用手册以及开发者的心得体会。这个应用集成了多种功能,旨在提升用户的英语学习体验。以下...

Global site tag (gtag.js) - Google Analytics