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++ 源代码阅读心得”这个主题中总结的一些关键知识点: 1. **理解C++基础**:在开始阅读C++源代码之前,对基本语法、类、对象、函数、指针、模板等核心概念的理解是必不可少的。熟悉标准库,如STL...
总之,《C++ Primer Plus 第五版》的源代码与编程心得是学习C++的宝贵资源。通过阅读和实践,我们可以深化对C++语言的理解,提升编程技巧,并且吸取前人的经验教训,避免在编程旅程中走弯路。这本书不仅适合初学者,...
在Java写的CMM词法分析器源代码中,我们可以期待看到以下几个关键部分: 1. **词法规则定义**:通常使用正则表达式来定义不同的标记类型。例如,标识符、关键字、数字、运算符等,每种类型都有其对应的模式。 2. *...
Linux内核代码阅读心得体会详细解析: Linux内核启动 Linux内核启动是理解操作系统启动过程的一个重要组成部分。文档中提到的几个关键步骤包括内核的生成、BIOS的作用、setup辅助程序、内核解压缩、开启页面映射和...
然而,王建云同学也意识到自身的不足,尤其是在网页设计软件的深度运用和网页制作代码方面。他认识到,想要设计出更专业、更完善的网页,必须掌握HTML、CSS等网页制作代码。虽然目前他在代码运用上还有困难,但他已...
根据提供的文件信息,标题与描述均为“C++指针方面的心得”,这表明文章将主要围绕C++语言中的指针概念及其使用技巧进行探讨。由于标签部分与内容并不相关,因此我们将忽略这部分信息,直接从标题和描述中提取并展开...
大概2天时间,帮我写了200-300行左右的有效代码,而且一些基础的代码还是很轻松就写出来了。如果我自己一边学一边做的话,我估计我需要大概半个月的时间才能学习到这个程度。所以对我来说帮助还是挺大的,我相信对于...
这个应用包含了完整的源代码、使用手册以及开发者的心得体会,对于学习Android移动软件开发的学生来说,这是一个宝贵的资源。以下是关于这个项目的详细知识点: 1. **Android应用程序开发基础**:首先,你需要了解...
下面是对 JavaCC 的学习心得,分为工作原理、使用方法和深层认识三个方面。 工作原理: 1.1 结构综述: JavaCC 文件可以分为三个部分:参数列表(Options)、解释器 JAVA 代码和一系列产物(Production)。参数...
本文将从多个方面分享使用LaTeX的心得体会,包括但不限于安装配置、常用技巧、高级应用等。 #### 一、LaTeX的基础配置与环境搭建 ##### CJK与Emacs的集成 - **CJK**: 是一套支持中文排版的LaTeX宏包,能够帮助用户...
实验代码这部分可能包括了操作系统中的一些核心模块,如进程管理、内存管理、文件系统等的实际实现,帮助学生通过编程实践深入理解操作系统的运作机制。实验心得则是学生在完成实验后对所学知识的理解和感悟,通常...
PowerBuilder 学习心得总结 本文总结了 PowerBuilder 学习过程中的重要知识点,涵盖了事件、配置文件、应用对象、编译发行、Idle 事件、函数与代码存储、连接数据库、ConnectionBegin 和 ConnectionEnd 事件、...
这个"python课设全套资源"的压缩包提供了完成一个Python课程设计项目所需的所有资料,包括源代码、流程图、心得体会、任务设计以及代码详解,非常适合学生或者初学者进行实践学习。 首先,课程设计报告(003)...
总之,VHDL作为硬件设计的重要工具,其学习涵盖了基础语法、数据类型、过程控制、库和包的使用、层次化设计、仿真验证以及综合等多个方面。只有深入理解和熟练应用这些知识点,才能在VHDL设计中游刃有余,创造出高效...
从给定的文件信息来看,标题、描述以及标签均提到了“个人心得”,但实际内容并未提供具体的心得内容,而是包含了一些似乎是编程语言或代码片段的信息。这可能意味着文件试图传达的是关于IT领域的个人经验或者是在...
本资源包“SQL数据库心得”聚焦于分享关于SQL数据库的一些重要概念、最佳实践和常见问题,旨在帮助用户提升SQL技能。 首先,SQL的基本操作包括数据的增、删、改、查(CRUD)。创建(Create)数据库和表结构,通过...
这篇心得体会旨在分享我在学习Java过程中的关键知识点,希望能为初学者提供一些指导和启示。 首先,Java的基础至关重要。这包括对基本语法的理解,如数据类型(如整型、浮点型、字符型、布尔型)、变量的声明与赋值...
总的来说,Delphi开发心得涉及到代码规范、数据库连接和业务逻辑处理等方面,这些都是开发高效、稳定的Delphi应用程序时必须掌握的核心技能。通过不断实践和学习,开发者可以更加熟练地运用这些工具和方法,提升自己...
《CSAPP和SOCKET的一些心得》 在计算机科学与编程领域,"CSAPP"(《计算机系统:一种程序员的视角》)是一本经典的教材,它深入浅出地讲解了计算机系统的底层运作机制,包括硬件、操作系统、内存管理、编译器等方面...
在本项目中,我们主要探讨的是一个针对安卓平台的移动应用程序,它被设计用于帮助学生进行英语四级备考,包括提供源代码、使用手册以及开发者的心得体会。这个应用集成了多种功能,旨在提升用户的英语学习体验。以下...