Ⅰ 程序员需要具备的基本技能,你都知道吗
下面是程序员所应该具备的基本职业技能:
基本技能 技能描述
阅读代码 这个技能需要程序员能够具备读懂已经存在的代码的能力,这样的能力可以让程序员分析程序的行为,了解程序,这样才能和开发团队一起工作,继承维护或是改进现有的程序。
编写程序 编写程序并不包括程序设计。不要以为编程是一件很简单的事情,很多程序员都认为编程只需要懂得程序语言的语法,并把设计实现就可以了。但是这离编写程序还远远不够,使用什么样的编码风格成为编写程序员最需要具备的基本技能。能否使用非常良好的编程风格直接决写了程序员的级别。
软件设计 这一能力直接决定了需要吏用什么样的代码技术达到怎么样的功能,而系统架构设计直接决定了软件的质量、性能和可维护性。并不是所有的程序在这一方面都非常优秀,但每个程序员都需要或多或少的明白和掌握这一基本技能。
熟悉软件工程 每个程序员都应该明白软件工程是什么东西,都应该知道,需求分析 设计,编码测试,Release和维护这几个阶段。当然,几乎所有的人都知道这些东西,但并不是每个人都很清楚这些东西。现在很多高级程序员都会混淆“需求规格说明书FS”和“概要设计HLD”。另外,程序员还需要知道一些软件开发的方法论,比如:敏捷开发或瀑布模型。
使用程序库或框架 一个程序员需要学会使用已有的代码,无论是标论的程序库,或是第三方的,还是自己公司内部的,都需要学会做。比如:C++中,需要学会使用STL,MFC,ATL,BOOST,ACE,CPPUNIT等等。使用这些东西,可以让你的工作事半功倍。
程序调试 程序调试是分析BUG和解决问题最直接的能力。没有人能够保证程序写出来不用调试就可以运行正常 也没有人可以保证程序永远不会出BUG。所以,熟练使用调试器是一个程序员需要具备的基本技能
使用IDE 学会使用IDE工具也会让你的工作事半功倍。比如,VC++,Emacs Eclipse等等,并要知道这些IDE的长处和短处。
使用版本控制 一定要学会使用版本控制工具,什么叫mainline/trunk,什么叫tag,什么叫branch,怎么做patch,怎么merge代码,怎么reverse,怎么利用版本控制工具维护不同版本的软件。这是程序员需要明的的软件配置管理中最重要的一块。
单元测试 单元测试是每个程序都需要做的。很多单元测试也是需要编码的。一定要学会在xUnit框架下进行单元测试。比如JUnit, NUnit, CppUnit等等。
重构代码 每个程序员都需要有最基本的能力去重构目前已有的代码,使代码达到最优但却不能影响任何的已有的功能。有一本书叫《软件的重构》 每个程序员都应该读一下
自动化编译 程序员需要使用一个脚本,其能自动化编程所有的工程和代码,这样整个开发团队可以不停地集成代码 自动化测试,自动化部署,以及使用一些工具进行静态代码分析或是自动化测试。
当然,还有很多的基本技术也是非常重要的,比如,与人的沟通能力,语言的表达能力,写作能力,团队协作能力,适应变化的能力,时间管理能力,多任务处理能力,自我学习能力,故障处理能力,等等,等等,这里只是列举了和技术相关的能力,这些是程序最最最基本的能力,只要是程序员就必需要有的能力。
Ⅱ 一个办公软件`怎么实现让它在局域网里使用呢
首先,调试好网络,两台机器间网络是互通的,可以传送数据,一个路由器上扯下的线并不表示就能互访,你的路由是可网管的还是傻瓜似的?
其次,你在服务器上,按照软件说明设置好网络访问,应该WEB访问,还有,你本机地址是http://127.0.0.1:8080/oa,管理地址是http://localhost:8080/cc
,但是这是在服务器上的地址,在客户端,那个XP机上,应该是要用IP来该问的。肯定不是以上的地址。至于端口号,看你描述估计是要加的。你说的不是很清楚,你先搞定这两点试试吧。
Ⅲ 编一个简单的程序步骤
写程序确实是有步骤的,也需要步骤的存在~~就我个人而言,我写程序的时间有时在下午,多数是在夜晚,11点到5点这个时间,这段时间里安静,而且我能有灵感~~~写程序的步骤应人而易,一般是这个样子的:
1:对程序的目的要有明确的认识,也就是说你必须知道你写这个程序的目的是让它做什么的。
2:程序应该怎么做。也就是相当于一个大概的构想,写个流程图出来会比较有用
3:你现在就可以开始编写了。
4:程序写好后调试,修改。
注意,程序员在写程序的时候必须要使用大量的注释!!这个是必须的,因为程序的代码一般多了之后,你自己也不能一下子就知道某有行的代码是什么意思,作用是什么,更有很多的变量和过程也变的模糊与复杂,但是有了注释就简单多了。。。程序写到一半写不下去的情况对于一个程序员来说,是再正常不过的问题了,这是要稍微的休息,然后理情思路,寻找解决问题的办法,去请教其他程序员就是个很不错的方法~~~~~
我写了这些希望可以给你帮助。
Ⅳ 对C语言进行调试的最好方法是什么
要了解调试程序的最好方法,首先要分析一下调试过程的三个要素:
应该用什么工具调试一个程序?
用什么办法才能找出程序中的错误?
怎样才能从一开始就避免错误?
应该用什么工具调试一个程序?
有经验的程序员会使用许多工具来帮助调试程序,包括一组调试程序和一些"lint”程序,当然,编译程序本身也是一种调试工具。
在检查程序中的逻辑错误时,调试程序是特别有用的,因此许多程序员都把调试程序作为基本的调试工具。一般来说,调试程序能帮助程序员完成以下工作:
(1)观察程序的运行情况
仅这项功能就使一个典型的调试程序具备了不可估量的价值。即使你花了几个月的时间精心编写了一个程序,你也不一定完全清楚这个程序每一步的运行情况。如果程序员忘记了某些if语句、函数调用或分支程序,可能会导致某些程序段被跳过或执行,而这种结果并不是程序员所期望的。不管怎样,在程序的执行过程中,尤其是当程序有异常表现时,如果程序员能随时查看当前被执行的是那几行代码,那么他就能很好地了解程序正在做什么以及错误发生在什么地方。
(2)设置断点
通过设置断点可以使程序在执行到某一点时暂时停住。当你知道错误发生在程序的哪一部分时,这种方法是特别有用的。你可以把断点设置在有问题的程序段的前面、中间或后面。当程序执行到断点时,就会暂时停住,此时你可以检查所有局部变量、参数和全局变量的值。如果一切正常,可以继续执行程序,直到遇到另一个断点,或者直到引起问题的原因暴露出来。
(3)设置监视
程序员可以通过调试程序监视一个变量,即连续地监视一个变量的值或内容。如果你清楚一个变量的取值范围或有效内容,那么通过这种方法就能很快地找出错误的原因。此外,你可以让调试程序替你监视变量,并且在某个变量超出预先定义的取值范围或某个条件满足时使程序暂停执行。如果你知道变量的所有行为,那么这么做是很方便的。
好的调试程序通常还提供一些其它功能来简化调试工作。然而,调试程序并不是唯一的调试工具,lint程序和编译程序本身也能提供很有价值的手段来分析程序的运行情况。
注意:lint程序能分辨数百种常见的编程错误,并且能报告这些错误发生在程序的哪一部分。尽管其中有一些并不是真正的错误,但大部分还是有价值的。
lint程序和编译程序所提供的一种典型功能是编译时检查(compile—time checks),这种功能是调试程序所不具备的。当用这些工具编译你的程序时,它们会找出程序中有问题的程序段,可能产生意想不到的效果的程序段,以及常见的错误。下面将分析几个这种检查方式的应用例子,相信对你会有所帮助。
等于运算符的误用
编译时检查有助于发现等于运算符的误用。请看下述程序段:
void foo(int a,int b)
{
if ( a = b )
{
/ * some code here * /
}
}
这种类型的错误一般很难发现!程序并没有比较两个变量,而是把b的值赋给了a,并且在b不为零的条件下执行if体。一般来说,这并不是程序员所希望的(尽管有可能)。这样一来,不仅有关的程序段将被执行错误的次数,并且在以后用到变量a时其值也是错误的。
未初始化的变量
编译时检查有助于发现未初始化的变量。请看下面的函数:
void average ( float ar[], int size )
{
float total;
int a;
for( a = 0;a<size; ++a)
{
total+=ar[a];
}
printf(" %f\n", total / (float) size );
}
这里的问题是变量total没有被初始化,因此它很可能是一个随机的无用的数。数组所有元素的值的和将与这个随机数的值相加(这部分程序是正确的),然后输出包括这个随机数在内的一组数的平均值。
变量的隐式类型转换
在有些情况下,C语言会自动将一种类型的变量转换为另一种类型。这可能是一件好事(程序员不用再做这项工作),但是也可能会产生意想不到的效果。把指针类型隐式转换成整型恐怕是最糟糕的隐式类型转换。
void sort( int ar[],int size )
{
/* code to sort goes here * /
}
int main()
{
int arrgy[10];
sort( 10, array );
}
上述程序显然不是程序员所期望的,虽然它的实际运行结果难以预测,但无疑是灾难性的。
用什么办法才能找出程序中的错误?
在调试程序的过程中,程序员应该记住以下几种技巧:
先调试程序中较小的组成部分,然后调试较大的组成部分
如果你的程序编写得很好,那么它将包含一些较小的组成部分,最好先证实程序的这些部分是正确的。尽管程序中的错误并不一定发生在这些部分中,但是先调试它们有助于你理解程序的总体结构,并且证实程序的哪些部分不存在错误。进一步地,当你调试程序中较大的组成部分时,你就可以确信那些较小的组成部分是正常工作的。
彻底调试好程序的一个组成部分后,再调试下一个组成部分
这一点非常重要。如果证实了程序的一个组成部分是正确的,不仅能缩小可能存在错误的范围,而且程序的其它组成部分就能安全地使用这部分程序了。这里应用了一种很好的经验性原则,简单地说就是调试一段代码的难度与这段代码长度的平方成正比,因此,调试一段20行的代码比调试一段10行的代码要难4倍。因此,在调试过程中每次只把精力集中在一小段代码上是很有帮助的。当然,这仅仅是一个总的原则,具体使用时还要视具体情况而定。
连续地观察程序流(flow)和数据的变化
这一点也很重要!如果你小心仔细地设计和编写程序,那么通过监视程序的输出你就能准确地知道正在执行的是哪部分代码以及各个变量的内容都是什么。当然,如果程序表现不正常,你就无法做到这一点。为了做到这一点,通常只能借助于调试程序或者在程序中加入大量的print语句来观察控制流和重要变量的内容。
始终打开编译程序警告选项 并试图消除所有警告
在开发程序的过程中,你自始至终都要做到这一点,否则,你就会面临一项十分繁重的工作。尽管许多程序员认为消除编译程序警告是一项繁琐的工作,但它是很有价值的。编译程序给出警告的大部分代码至少都是有问题的,因此用一些时间把它们变成正确的代码是值得的;而且,通过消除这些警告,你往往会找到程序中真正发生错误的地方。
准确地缩小存在错误的范围
如果你能一下子确定存在错误的那部分程序并在其中找到错误,那就会节省许多调试时间,并且你能成为一个收入相当高的专业调试员。但事实上,我们并不能总是一下子就命中要害,因此,通常的做法是逐步缩小可能存在错误的程序范围,并通过这种过程找出真正存在错误的那部分程序。不管错误是多么难于发现,这种做法总是有效的。当你找到这部分程序后,就可以把所有的调试工作集中到这部分程序上了。不言而喻,准确地缩小范围是很重要的,否则,最终集中精力调试的那部分程序很可能是完全正确的。
如何从一开始就避免错误?
有这样一句谚语——“防患于未然”,它的意思是避免问题的出现比出现问题后再想办法弥补要好得多。这在计算机编程中也是千真万确的!在编写程序时,一个经验丰富的程序员所花的时间和精力要比一个缺乏经验的程序员多得,但正是这种耐心和严谨的编程风格使经验丰富的程序员往往只需花很少的时间来调试程序,而且,如果此后程序要解决某个问题或做某种改动,他便能很快地修正错误并加入相应的代码。相反,对于一个粗制滥造的程序,即使它总的来说还算正确,那么改动它或者修正其中一个很快就暴露出来的错误,都会是一场恶梦。
一般来说,按结构化程序设计原则编写的程序是易于调试和修改的,下面将介绍其中的一些原则。
程序中应有足够的注释
有些程序员认为注释程序是一项繁琐的工作,但即使你从来没想过让别人来读你的程序,你也应该在程序中加入足够的注释,因为即使你现在认为清楚明了的语句,在几个月以后往往也会变得晦涩难懂。这并不是说注释越多越好,过多的注释有时反而会混淆代码的原意。但是,在每个函数中以及在执行重要功能或并非一目了然的代码前加上几行注释是必要的。下面就是一段注释得较好的代码:
/*
* Compute an integer factorial value using recursion.
* Input an integer number.
* Output : another integer
* Side effects : may blow up stack if input value is * Huge *
*/
int factorial ( int number)
{
if ( number < = 1)
return 1; /* The factorial of one is one; QED * /
else
return n * factorial( n - 1 );
/ * The magic! This is possible because the factorial of a
number is the number itself times the factorial of the
number minus one. Neat! * /
}
函数应当简洁
按照前文中曾提到的这样一条原则——调试一段代码的难度和这段代码长度的平方成正比——函数编写得简洁无疑是有益的。但是,需要补充的是,如果一个函数很简洁,你就应该多花一点时间去仔细地分析和检查它,以确保它准确无误。此后你可以继续编写程序的其余部分,并且可以对刚才编写的函数的正确性充满信心,你再也不需要检查它了。对于一段又长又复杂的例程,你往往是不会有这样的信心的。
编写短小简洁的函数的另一个好处是,在编写了一个短小的函数之后,在程序的其它部分就可以使用这个函数了。例如,如果你在编写一个财务处理程序,那么你在程序的不同部分可能都需要按季、按月、按周或者按一月中的某一天等方式来计算利息。如果按非结构化原则编写程序,那么在计算利息的每一处都需要一段独立的代码,这些重复的代码将使程序变得冗长而难读。然而,你可以把这些任务的实现简化为下面这样的一个函数:
/*
* ComDllte what the "real" rate of interest would be
* for a given flat interest rate, divided into N segments
*/
double Compute Interest( double Rate, int Segments )
{
int a;
double Result = 1.0;
Rate /= (double) Segments;
for( a = 0; a< Segments ; ++a )
Result * =Rate;
return Result;
}
在编写了上述函数之后,你就可以在计算利息的每一处调用这个函数了。这样一来,你不仅能有效地消除每一段复制的代码中的错误,而且大大缩短了程序的长度,简化了程序的结构。这种技术往往还会使程序中的其它错误更容易被发现。
当你习惯了用这种方法把程序分解为可控制的模块后,你就会发现它还有更多的妙用。
程序流应该清晰,避免使用goto语句和其它跳转语句
这条原则在计算机技术领域内已被广泛接受,但在某些圈子中对此还很有争议。然而,人们也一致认为那些通过少数语句使程序流无条件地跳过部分代码的程序调试起来要容易得多,因为这样的程序通常更加清晰易懂。许多程序员不知道如何用结构化的程序结构来代替那些“非结构化的跳转”,下面的一些例子说明了应该如何完成这项工作:
for( a = 0; a<100s ++a)
{
Func1( a );
if (a = = 2 ) continue;
Func2( a );
}
当a等于2时,这段程序就通过continue语句跳过循环中的某余部分。它可以被改写成如下的形式:
for( a = 0; a<100; ++a)
{
Func1 (a);
if (a !=2 )
Func2(a) ;
}
这段程序更易于调试,因为花括号内的代码清楚地显示了应该执行和不应该执行什么。那么,它是怎样使你的代码更易于修改和调试的呢?假设现在要加入一些在每次循环的最后都要被执行的代码,在第一个例子中,如果你注意到了continue语句,你就不得不对这段程序做复杂的修改(不妨试一下,因为这并非是显而易见的!);如果你没有注意到continue语句,那么你恐怕就要犯一个难以发现的错误了。在第二个例子中,要做的修改很简单,你只需把新的代码加到循环体的末尾。
当你使用break语句时,可能会发生另外一种错误。假设你编写了下面这样一段程序:
for (a =0) a<100; ++a)
{
if (Func1 (a) ==2 )
break;
Func2 (a) ;
}
假设函数Funcl()的返回值永远不会等于2,上述循环就会从1进行到100;反之,循环在到达100以前就会结束。如果你要在循环体中加入代码,看到这样的循环体,你很可能就会认为它确实能从0循环到99,而这种假设很可能会使你犯一个危险的错误。另一种危险可能来自对a值的使用,因为当循环结束后,a的值并不一定就是100。
c语言能帮助你解决这样的问题,你可以按如下形式编写这个for循环:
for(a=O;a<100&&Func1(a)!=2;++a)
上述循环清楚地告诉程序员:“从0循环到99,但一旦Func1()等于2就停止循环”。因为整个退出条件非常清楚,所以程序员此后就很难犯前面提到的那些错误了。
函数名和变量名应具有描述性
使用具有描述性的函数和变量名能更清楚地表达代码的意思——并且在某种程度上这本身就是一种注释。以下几个例子就是最好的说明:
y=p+i-c;
和
YearlySum=Principal+Interest-Charges:
哪一个更清楚呢?
p=*(l+o);
和
page=&List[offset];
哪一个更清楚呢?
Ⅳ 自己写了个java插件请问怎样调试
不要用VJ++,不好。
刚开始用纯jdk,过一般时间用EditPlus等这样的工具,以后推荐使用Eclipse,因为是开源,也就是免费的。
JDK
Borland 的JBuilder
JBuilder,JDeveloper,VisualAge for Java
jcreater.
常见的十五种Java开发工具的特点
1、JDK (Java Development Kit)Java开发工具集
从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,
有利于理解Java面向对象的设计思想。JDK的另一个显着特点是随着Java (J2EE、J2SE
以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java
应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。
2、Java Workshop
3、NetBeans 与Sun Java Studio 5
NetBeans是开放源码的Java集成开发环境(IDE),适用于各种客户机和Web应用。
Sun Java Studio是Sun公司最新发布的商用全功能Java IDE,支持Solaris、Linux和Win
dows平台,适于创建和部署2层Java Web应用和n层J2EE应用的企业开发人员使用。
NetBeans是业界第一款支持创新型Java开发的开放源码IDE。开发人员可以利用业界
强大的开发工具来构建桌面、Web或移动应用。同时,通过NetBeans和开放的API的模块
化结构,第三方能够非常轻松地扩展或集成NetBeans平台。
NetBeans3.5.1主要针对一般Java软件的开发者,而Java One Studio5则主要针对企
业做网络服务等应用的开发者。Sun不久还将推出Project Rave,其目标是帮助企业的开
发者进行软件开发。NetBeans 3.5.1版本与其他开发工具相比,最大区别在于不仅能够
开发各种台式机上的应用,而且可以用来开发网络服务方面的应用,可以开发基于J2ME
的移动设备上的应用等。在NetBeans 3.5.1基础上,Sun开发出了Java
One Studio5,为用户提供了一个更加先进的企业编程环境。在新的Java
One Studio5里有一个应用框架,开发者可以利用这些模块快速开发自己在网络服务方面
的各种应用程序。
4、Borland 的JBuilder
Jbuilder进入了Java集成开发环境的王国,它满足很多方面的应用,尤其是对于服
务器方以及EJB开发者们来说。下面简单介绍一下Jbuilder的特点:
1)Jbuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean以及EJB
(Enterprise JavaBeans)的应用。
2)用户可以自动地生成基于后端数据库表的EJB Java类,Jbuilder同时还简化了EJ
B的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布
应用程序所必需的接口定义语言Interface Definition Language)和控制远程对象。
3)Jbuilder支持各种应用服务器。Jbuilder与Inprise Application Server紧密集
成,同时支持WebLogic Server,支持EJB 1.1和EJB 2.0,可以快速开发J2EE的电子商务
应用。
4)Jbuilder能用Servlet和JSP开发和调试动态Web 应用。
5)利用Jbuilder可创建(没有专有代码和标记)纯Java2应用。由于Jbuilder是用纯J
ava语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。
6)Jbuilder拥有专业化的图形调试接口,支持远程调试和多线程调试,调试器支持
各种JDK版本,包括J2ME/J2SE/J2EE。
JBuilder环境开发程序方便,它是纯的Java 开发环境,适合企业的J2EE开发;缺点
是往往一开始人们难于把握整个程序各部分之间的关系,对机器的硬件要求较高,比较
吃内存,这时运行速度显得较慢。
5、Oracle 的JDeveloper
Oracle9i JDeveloper(定为9.0版,最新为10g)为构建具有J2EE功能,XML和Web
services的复杂的,多层的Java应用程序提供了一个完全集成的开发环境。它为运用Ora
cle9i数据库和应用服务器的开发人员提供特殊的功能和增强性能,除此以外,它也有资
格成为用于多种用途Java开发的一个强大的工具。
Oracle9i JDeveloper的主要特点如下:
① 具有UML(Unified Modeling Language,一体化建模语言)建模功能。可以将业
务对象及e-business应用模型化。
② 配备有高速Java调试器(Debuger)、内置Profiling工具、提高代码质量的工具
“CodeCoach”等。
③ 支持SOAP(Simple Object Access Protocol)“简单对象访问协议”、UDDI(U
niversal Description, Discovery and Integration)“统一描述、发现和集成协议”
、WSDL(Web Services Description Language)“WEB服务描述语言”等Web服务标准。
JDeveloper 不仅仅是很好的 Java 编程工具,而且是 Oracle Web 服务的延伸,支
持 Apache SOAP,以及 9iAS ,可扩充的环境和 XML 和 WSDL 语言紧密相关。Oracle9i
Jdeveloper完全利用Java编写,能够与以前的Oracle服务器软件以及其他厂商支持J2EE
的应用服务器产品相兼容,而且在设计时着重针对Oracle9i,能够无缝化跨平台之间的
应用开发,提供了业界第一个完整的、集成了J2EE和XML的开发环境,允许开发者快速开
发可以通过Web、无线设备及语音界面访问的Web服务和交易应用,以往只能通过将传统J
ava编程技巧与最新模块化方式结合到一个单一集成的开发环境中之后才能完成J2EE应用
开发生命周期管理的事实,从根本上得到改变。缺点就是对于初学者来说,较复杂,也
比较难。
6、IBM的Visual Age for Java
Visual Age for Java是一个非常成熟的开发工具,它的特性以于IT开发者和业余的
Java编程人员来说都是非常用有用的。它提供对可视化编程的广泛支持,支持利用CICS
连接遗传大型机应用,支持EJB的开发应用,支持与Websphere的集成开发,方便的bean
创建和良好的快速应用开发(RAD)支持和无文件式的文件处理。
IBM为建设Web站点所推出的WebSphere Studio Advanced Edition及其包含的Visual
Age for Java Professional Edition软件已全面转向以Java为中心,这样,Java开发人
员对WebSphere全套工具的感觉或许会好了许多。Studio所提供的工具有:Web站点管理
、快速开发 JDBC页向导程序、HTML编辑器和HTML语法检查等。这确实是个不错的HTML站
点页面编辑环境。Studio和VisualAge集成度很高,菜单中提供了在两种软件包之间快速
移动代码的选项。这就让使用Studio的Web页面设计人员和使用VisualAge的Java程序员
可以相互交换文件、协同工作。
Visual Age for Java支持团队开发,内置的代码库可以自动地根据用户做出改动而
修改程序代码,这样就可以很方便地将目前代码和早期版本做出比较。与Visual Age紧
密结合的Websphere Studio本身并不提供源代码和版本管理的支持,它只是包含了一个
内置文件锁定系统,当编辑项目的时候可以防止其他人对这些文件的错误修改,软件还支
持诸如Microsoft Visual SourceSafe这样的第三方源代码控制系统。Visual Age for
Java完全面向对象的程序设计思想使得开发程序非常快速、高效。你可以不编写任何代
码就可以设计出一个典型的应用程序框架。Visual Age for Java作为IBM电子商务解决
方案其中产品之一,可以无缝地与其他IBM产品,如WebSphere、DB2融合, 迅速完成从设
计、开发到部署应用的整个过程。
Visual Age for Java独特的管理文件方式使其集成外部工具非常困难,你无法让Vis
ual Age for Java与其他工具一起联合开发应用。
7、BEA 的 WebLogic Workshop
BEA WebLogic Workshop是一个统一、简化、可扩展的开发环境,使所有的开发人员
都能在 BEA WebLogic Enterprise Platform之上构建基于标准的企业级应用,从而提高
了开发部门的生产力水平,加快了价值的实现。
WebLogic Workshop除了提供便捷的Web服务之外,它能够用于创建更多种类的应用
。作为整个BEA WebLogic Platform的开发环境。不管是创建门户应用、编写工作流、还
是创建Web应用,Workshop 8.1都可以帮助开发人员更快更好地完成。
WebLogic Workshop的主要特点如下:
① 使 J2EE 开发切实可行,提高开发效率
BEA WebLogic Workshop 使开发人员远离 J2EE 内在的复杂性,集中精力专注业务
逻辑,无须操心单调乏味的基础结构代码。这种创新意味着,已被企业验证的 J2EE 的
强大功能,最终被大多数不熟悉 Java 和 J2EE 的应用开发人员所掌握,从而使 IT 部
门的工作效率提高一个数量级。
可视化设计器以及直观的概念,如事件、属性和控件等,实现了基于事件的开发。W
orkshop 简化的程序设计模型,使开发人员不必掌握复杂的 J2EE API 和面向对象的程
序设计原理。所有开发人员,包括 J2EE 专家和具有可视化和过程化语言技能的应用开
发人员在内,都可以共同工作在 BEA WebLogic Enterprise Platform 之上。Workshop
的可视化开发环境,创建带有代码注释的标准 Java 文件,用来说明由运行时框架实施
的企业级需求。J2EE 和其他高级开发人员,借助功能强大的代码编辑功能,可以访问
Java 源代码,从而弥补了可视化设计器的不足。
② 构建企业级应用
通过在可伸缩、安全可靠的企业级架构上实施各种应用,BEA WebLogic
Workshop 大大降低了开发风险。而且,所有应用的创建都使用标准的 J2EE 组件,既保
护了您的技术投资,又保持了最大的灵活性。
BEA WebLogic Workshop 运行框架,是统一整个架构的汇聚层,使单一、简化的程序设
计模型扩展到所有的 BEA WebLogic Enterprise Platform 应用类型。通过解释设计时
创建的注释代码,运行时框架可以实现必要的 J2EE 组件,并且提取出与 J2EE 应用开
发有关的所有底层细节。
③ 降低 IT 复杂性
BEA WebLogic Workshop 提供各种 Java 控件,使得与 IT 资源的连接更轻而易举
。另外,在构建任何 BEA WebLogic Platform 的应用中,Java 控件不仅可扩展而且完
全相同。这种强大、有效的方法能够:降低 IT 技术的复杂性,优化信息的可用性,推
动包含"最佳业务方案"的可重用服务的开发,使开发人员能以更低的成本、更短的时间
实现更大的产出。
利用 BEA WebLogic Workshop,任何开发人员都能以最大的生产效率,构建各种
Web 服务、Web 应用、门户和集成项目。BEA WebLogic Workshop是BEA的产品战略核心
,它帮助客户接触和利用面向服务架构(SOA)的强大功能。BEA Weblogic Workshop
8.1极大简化了当前实际企业集成环境中企业级应用和服务的构建,并成为全面支持关键
企业级应用(如异步、真正松耦合和粗粒度消息传送等)的自然选择。它的缺点就是过于
复杂,对于初学者来说,理解起来较为困难。
8、WebGain 的Visual Cafe for Java
Visual Cafe 是只能在Symantec公司的Java虚拟机、Netscape公司的Java虚拟机和M
icrosoft虚拟机上工作的调试器。这对于开发者来讲是一个重要的特性,因为用户开发的
Java代码中的许多软件bug就可能中会在某种特定的虚拟机上起作用。
在修改后进行编译基继续进行调试时,Visual Cafe会自动将文件存盘,使用Visual
Cafe创建的原生应用具有许多特点。除了明显的速度提高之外,Symantec使类库的二进制
方式比正常的JDK小Visual Cafe为所指定的关系自动生成或更新必要的Java代码。利用V
isual Cafe,用户可以从一个标准对象数据库中集合完整的Java应用程序和Applet,而
不必再编写源代码。Visual Cafe还提供了一个扩充的源代码开发工具集。
Visual Cafe综合了Java软件的可视化源程序开发工具,它允许开发人员在可视化视
图和源视图之间进行有效地转换。在可视化视图中进行的修改立即反映在源代码中。对
源代码的改变自动更新可视化视图。
Visual Cafe具有许多源文件方面的特性,如全局检索和替换。绝大多数Java开发工
具的文献的问题在于简单地挨个介绍开发工具的每部分组件,但用户在开应用时还需要
一个面向任务的手册,利用这个手册你可以不必知道工具每一部分的特定功能就可以开
始创建自己的应用。Visual Cafe提供了非常全面的用户指南,它对最开始的安装到创建
第一个Java应用和Applet都提供了全面的帮助,Visual Cafe将自动生成所指明关系的必
要Java代码。Visual Cafe可以在Windows 95和Windows NT平台下运行,Symantec公司为
Java开发工作提供一个在Macintosh操作系统下可以运行的RAD工具。Visual Cafe编译器
速度很快,在国际化支持方面比较突出;缺点就是对于初学者来说,较复杂,也比较难
。
9、Macromedia的JRUN
Macromedia公司的JRun是一个具有最广阔适用性的Java引擎,用于开发及实施由Jav
a Servlets和JavaServer Pages编写的服务器端Java应用。JRun是第一个完全支持JSP
1.0 规格书的商业化产品,全球有超过80,000名开发人员使用JRun在他们已有的Web服务
器上添加服务器端Java的功能。其中Web服务器包括了Microsoft IIS,Netscape
Enterprise Server,Apache等。
JRun是开发实施服务器端Java的先进引擎。如果我们希望在我们的Web应用中添加服
务器端Java功能,那么JRun将成为我们的正确选择。
JRun目前有3个版本,它是第一个支持Java Server Pages(JSP)规格书1.0的商业化
产品。JSP是一种强大的服务器端技术,它是用于创建复杂Web应用的一整套快速应用开
发系统。JRun可以使我们开始开发并测试Java应用。它最多接受5个并发的连接并且包括
全部Java Servlet API,支持JavaServer Pages(JSP),支持所有主要的Web
servers和计算机平台。 JRun Pro能够在生产环境下承受大访问量的负载,帮助我们实
施应用、服务或Web站点(包括内联网)。JRun Pro 支持无限量并发式连接运行多个Jav
a虚拟机,包括多个并发的Java虚拟机(JVM)。提供一个远程管理applet以及一个远程
可再分布式的管理applet。JRun Pro Unlimited包括了所有JRun Pro的功能,除次以外
,还可以运行无限量的,并发的JVM。
JRun依靠其内置的JRun Web Server可以单独运行。使用服务器端Java,用户可以开
发出复杂的商业应用系统。最重要的一点是,由于servlets的平台独立性,以及更加简
单的开发、更快速的实施、更经济的维护成本,它是CGI(Common Gateway
Interface)或Perl scripts的极佳的替代产品。缺点就是对于初学者来说,较复杂,也
比较难。
10、JCreator
JCreator 是一个Java程序开发工具,也是一个Java集成开发环境(IDE)。无论你
是要开发Java应用程序或者网页上的Applet元件都难不倒它。在功能上与Sun公司所公布
的JDK等文字模式开发工具相较之下来得容易,还允许使用者自订义操作窗口界面及无限
Undo/Redo等功能。
JCreator为用户提供了相当强大的功能,例如项目管理功能,项目模板功能,可个
性化设置语法高亮属性、行数、类浏览器、标签文档、多功能编绎器,向导功能以及完
全可自定义的用户界面。通过JCreator,我们不用激活主文档而直接编绎或运行我们的J
AVA程序。
JCreator能自动找到包含主函数的文件或包含Applet的Html文件,然后它会运行适
当的工具。在JCreator中,我们可以通过一个批处理同时编绎多个项目。JCreator的设
计接近Windows界面风格,用户对它的界面比较熟悉。其最大特点是与我们机器中所装的
JDK完美结合,是其它任何一款IDE所不能比拟的。它是一种初学者很容易上手的java开
发工具,缺点是只能进行简单的程序开发,不能进行企业J2EE的开发应用。
11、Eclipse
Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美
元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(I
DE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境
(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同一IDE中
集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显着改变了项目工作
流程,使开发者可以专注在实际的嵌入式目标上。
Eclipse框架的这种灵活性来源于其扩展点。它们是在XML中定义的已知接口,并充
当插件的耦合点。扩展点的范围包括从用在常规表述过滤器中的简单字符串,到一个Jav
a类的描述。任何Eclipse插件定义的扩展点都能够被其它插件使用,反之,任何Eclipse
插件也可以遵从其它插件定义的扩展点。除了解由扩展点定义的接口外,插件不知道它
们通过扩展点提供的服务将如何被使用。
利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器
等)结合在一起。如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我
们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。事实上,由
于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C++调试器还是汇编调试器
都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。
Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于
微软公司的Visual Studio和Sun微系统公司的NetBeans平台。Eclipse为工具开发商提供
了更好的灵活性,使他们能更好地控制自己的软件技术。Eclipse联盟已经宣布将在2004
年中期发布其3.0版软件。这是一款非常受欢迎的java开发工具,这国内的用户越来越多
,实际上实用它java开发人员是最多的。缺点就是较复杂,对初学者来说,理解起来比
较困难。
13、Ant
Another Neat Tool(Ant)是一种基于Java的build工具。理论上来说,它有些类似于
(Unix)C中的make ,但没有make的缺陷。因为Ant的原作者在多种(硬件)平台上开发软
件时,无法忍受这些工具的限制和不便。类似于make的工具本质上是基于shell(语言)
的:他们计算依赖关系,然后执行命令(这些命令与你在命令行敲的命令没太大区别)
。这就意味着你可以很容易地通过使用OS特有的或编写新的(命令)程序扩展该工具;
然而,这也意味着你将自己限制在了特定的OS,或特定的OS类型上,如Unix。Ant就不同
了。与基于shell命令的扩展模式不同,Ant用Java的类来扩展。(用户)不必编写shell
命令,配置文件是基于XML的,通过调用target树,就可执行各种task。每个task由实现
了一个实现了特定Task接口的对象来运行。
Ant支持一些可选task,一个可选task一般需要额外的库才能工作。可选task与Ant
的内置task分开,单独打包。这个可选包可以从你下载Ant的同一个地方下载。ANT本身
就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除
了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些
。Ant是Apache提供给Java开发人员的构建工具,它可以在Windows OS和Unix OS下运行
,它不仅开放源码并且还是一个非常好用的工具。Ant是Apache Jakarta中一个很好用的
Java开发工具,Ant配置文件采用XML文档编写,所以Java程序员对其语法相当熟悉,Ant
是专用于Java项目平台,能够用纯Java来开发,它能够运行于Java安装的平台,即体现
了它的跨平台功能。它的缺点显示执行结果只能是DOS字符界面,不能进行复杂的java程
序开发。
14、IntelliJ
Intellij IDEA是一款综合的Java 编程环境,被许多开发人员和行业专家誉为市场
上最好的IDE。它提供了一系列最实用的的工具组合:智能编码辅助和自动控制,支持J2
EE,Ant,JUnit和CVS集成,非平行的编码检查和创新的GUI设计器。IDEA把Java开发人
员从一些耗时的常规工作中解放出来,显着地提高了开发效率。具有运行更快速,生成
更好的代码;持续的重新设计和日常编码变得更加简易,与其它工具的完美集成;很高
的性价比等特点。在4.0版本中支持Generics,BEA WebLogic集成,改良的CVS集成以及G
UI设计器。
IntelliJ IDEA能尽可能地促进程序员的编程速度。它包括了很多辅助的功能,并且
与Java结合得相当好。不同的工具窗口围绕在主编程窗口周围,当鼠标点到时即可打开
,无用时也可轻松关闭,使用户得到了最大化的有效屏幕范围。以技术为导向的IDEA集
成了调试器,支持本地和远程的调试,即使我们需要修改一些设置上的东西使我们的工
作顺利进展。另外,它还提供了通常的监视,分步调试以及手动设置断点功能,在这种
断点模式下,我们可以自动地在断点之外设置现场访问,甚至可以浏览不同的变量的值
。IDE支持多重的JVM设置,几个编译程序和Ant建造系统,并且,它使得设置多重的自定
义的类途径变得简单。
IntelliJ Idea是一个相对较新的Java IDE。它是Java开发环境中最为有用的一个。
高度优化的IntelleJ Idea使普通任务变得相当容易,Idea支持很多整合功能,更重要的
使它们设计的好容易使用。Idea支持XML中的代码实现,Idea同时还会校正XML,Idea支
持JSP的结构。作用于普通Java代码的众多功能同样适用于JSP(比如整合功能),同时
支持JSP调试;支持EJB,尽管它不包括对个别应用服务器的特殊支持。Idea支持Ant建立
工具,不仅是运行目标它还支持编译与运行程序前后运行目标,另外也支持绑定键盘快
捷键。在编辑一个Ant建立XML文件时,Idea还对组成Ant工程的XML部分提供支持。Intel
liJ IDEA 被称为是最好的JAVA IDE开发平台,这套软件就是以其聪明的即时分析和方便
的 refactoring 功能深获大家所喜爱。缺点是较复杂,对初学者来说,理解起来比较困
难。
Ⅵ 作为一个程序员,他的工作中心就是写代码,调试,再写,再调试,是吗
是的。大部分工作就是写程序代码,根据客户需求的开发文档或按公司要求编写出相应功能的软件。
调试也是必须的工作,但一些大型公司有专门的人负责调试的。
一般都是分工协作。有美工的、程序的、调试的、程序包装及发布的
Ⅶ 我是it程序员,刚进公司让我调试bug但是总是调不好很是郁闷,我该怎么办是不是有很多人都有这样的困惑
一般代码不是很多,可以一步一步跟踪,这样在找Bug的过程也学习到人家撰写的编码的知识;如果很长又没耐心去看,你就根据报异常的信息去瞭解,哪裏有错了,打个断点,F5调到那个断点,如果能跑到那个断点,就说明前面没问题,如果没跑到那个断点,就说明前面有异常,要在重新调整。其实就是要会拆分找问题。
做IT,没熬得住寂寞,谨慎仔细,品质如何保证呢。
Ⅷ Java程序员怎样调试bug
前端调试技巧:浏览器按F12 可以观察控制台输出的变量,可以看请求的情况(请求路径、参数等) ,这些都是常用的,每个浏览器不同。一般都是火狐的firebug 和谷歌浏览器<br>console.log(var tem); //控制台打印变量<br>alert("tem"); //弹出框弹出变量后台调试:eclipse IDE就是在相对应的java代码处打断点,看变量值等