呆呆的囡囡::囡囡的呆呆

不一样的天空,不一样的心情,却一样成长的我们。。。。。
随笔 - 2, 文章 - 1, 评论 - 0, 引用 - 0
数据加载中……

2006年1月24日

关于类,构造器,实例字段的笔记

源程序中可以包含多个类,或者也可以把每个类分配到单独的源文件中,
当一个源文件编译过程中需要调用另外的类,编译器会自动编译.
主力类:workhorse class,一般不具备main方法,而是具有自己的实例字段(instance field)和方法(method).

关键字public表示任意类中的任一方法都可以调用这个方法.
关键字private用来确保访问实例字段的方法只能是类本身的方法.任何外部方法都无法读或者写这些字段.

PS:也可以对实例字段用public关键字,但是这是很糟糕的做法,public的数据字段将允许程序任何部分对其访问和修改,这样就破坏了封装.

构造器(constructor)
构造器的名字和类的名字是一样的.但是同方法的区别子在于:构造器只能和new运算符一起被调用.不能把
构造器用于一个已经存在的对象以重新设置其实例字段.

一个类可以具有多个构造器(这在JAVA类库中得以完整提现)
构造器可以具有0个或者多个参数
构造器没有返回值
构造器和new运算符总是一起调用

PS:注意不要在构造器中定义和实例字段一样的局部变量.
例子:public yangfan(String n,int a)
                {
                      string name = n;
                      int age = a;
                 }
                  private String name;
                  private int age;
这样的写法会在构造器内部遮蔽(shadow)了相同名字的实例字段,以上name,age两个实例字段将被遮蔽
而且程序出错的时候也会非常难以发现问题的所在.
关键:不要让自己使用和实例字段同名的变量.

posted @ 2006-03-11 19:44 极地呆呆 阅读(231) | 评论 (0)编辑 收藏

程序员成长最快的环境

程序员成长最快的环境

除开五大这种要什么有什么,进去做打字也能光耀门楣的不谈。如果是嫁到一个普通软件公司,怎样的环境才能最快的成长呢?
    首先基本的公司项目管理水平是必要的;其次是稳健而不保守的公司技术选型; 还有一班能沟通的同事。

    重要的,要有一个严苛的环境,那些古训说的都没错,越是严苛成长越快。
    然后有些助力,让你在严寒中节省体力,过得好些的,就是最佳的练功环境了。

    一,最复杂多变的业务规则,最难侍候的客户
         大多数人碰上这几样东西都是愁眉苦脸,天天抱怨。其实应该把它视为入门锻炼的:
        第一阶是努力用细密的编码迎合复杂的业务,以金牌服务的态度接受客户的善变和每样需求都要24小时有取的BT。充分打磨过的眼耳口心,才是个合格的IT人。如果业务规则都清的像水,项目时时都是以我为主的,反是在做toy application,不算入了IT的门。
       打磨之后,如果肯静下心来总结,设计架构如何适应改变,流程如何做到快速更新部署,就是第二阶段的进步了。
       一直做ERP,自问有足够复杂的业务(因为不熟悉业务,有些不复杂的也变复杂了)和麻烦的客户(自己不是大公司,麻烦的客户就会很充足),但在第二阶段还是不很静得下心。

    二,最严格的性能要求,准确率要求,错误恢复要求
        最好是那种每天N万人访问,几亿条数据。还有准确性很严格,分分钟几十万上下,如果崩机又要迅速完全恢复状态的项目。
         每天几万人访问的项目没做过,遗憾。
         几千万条数据的项目倒是每天面对,优化学了一点,但没有充分利用严格的环境去追求改进,遗憾。
         ERP的报表倒是经常会搞到几十万上下的差额,但一直重视不足,以后要以历练来对待之。
         崩机恢复是最近的项目要求,更爽是这个项目澳国政府居然有一份规范,我说的助力就是指这些了,不用自己慢慢摸索而且经常摸错地方。

    三,最底层的编码
         不要老是高高在上的搞ERP搞.com,偶然尝试一下用到起码C一级的语言,和硬件打打交道,直接写IO口阿,中断阿,都是有就不要放过的锻炼。
         没做过底层编码,只会纯软件的IT人的感觉是不完整的。
         刚好公司最近的项目有要求,捧一本〈Linux Device Driver〉看看。

    四,最高层的设计
        设计、框架--技术人一听就眼红的字眼。但不是每个公司都搞很产品化的项目,或者在项目里自写类库重做轮子。所以,除了刚入行的那段疯狂日子,很高阶的设计其实我也没做多少,多数时间都是应用层的开发。
        不过,因为有时候要除bug或者增强开源产品使它符合项目需求,或者有错了不明就里时直接读源码会更快找到错误。这样就接触到不少优秀开源项目的源码,比如Spring。
         如果说Java盛产框架型的项目,php的项目则多是熟透了的Web应用。最近发现php不是以前的php了,应该算入python,ruby一类的动态OO语言,它的那些著名项目一样有着很好的MVC框架。细看之下学到应用设计方面的不少东西。
            
     一阵发呆打了这篇字,其实也是提醒自己,目前的环境可以,应该以更好的心态接受更严苛的历练,那些古训说的都没错。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=534605

posted @ 2006-01-24 16:28 极地呆呆 阅读(196) | 评论 (0)编辑 收藏