2007年06月17日

    一直以来,我都很崇拜技术强人,在程序员这个圈子,技术好是很牛x的,很受人尊敬。这是个很大的诱惑,没有人希望自己平庸的过完这一生,于是,我们把很大的热情,都用来学习新技术,发掘现有的,只为成为技术牛人。。。

    可是呢,我一觉醒来,我开始想了。技术,究竟是为什么而存在的?是为了需求。做项目,不管最终的成品是什么,面对的都是客户。客户不满意,那么就算你用了web3.0,也是白扯。于是乎,我觉得,只要有能使客户满意的技术水平,这便可以了。即使,他不是牛人,但是他知道客户需要的是什么,他可以以最小的代价来完成客户的要求, that’s enough。而在这个基础上,拥有更好的,超出需求的,吸引客户的技术,甚至可以进一步挖掘客户的需求,这是技术发展的最终目的。说什么能xxxx的,无非是想能在竞争中占有更大的市场。

    有了目的,才能指引技术的进步。

   算来算去来公司也1年了快,不论是我个人,还是公司,和当初的预期都差了很远,这可能就是所谓的理想与现实吧。公司的主要收入还是对日外包,也有国内部和欧美部,但是都没发展起来。

    对日的部分,这么些年了,依然是奋斗在最底层的开发部分,大概日方每人月支付20万日元的样子,连30的都少,如此的低廉,因为不能提供更好的服务。这样就不能不提人才的问题了,现在的公司对高级人才已经没有了任何的吸引力,自己培养的人,到期后90%都会走。项目的主力军往往是刚毕业不到1年半的新手甚至是新生。。质量是绝对不能令人满意的,虽说对日的测试比较严格,但是大量近乎于弱智的确认票让人怀疑这个项目组的人,有没有高中毕业。。

    国内部分,本来应该是利用对日的经验,培养出来的人才,来为国内项目提供专业服务,这才是出路,在国内内项目日益渐多的今天,谁有好的销售,有好的服务,谁就能拿到更多的份额。可惜了,国内做的一塌糊涂,能力好点的都去对日了,因为项目不赚钱,销售人员的水平实在不敢恭维。。不过就算从对日的部分抽人,以常年底层开发的人员水平,也拿不出什么东西。

    这些是表象,HUAXIN长年上市不成功,是公司的结构不合理。说白了就是高层领导主要都是关系户,嗯,我猜测的。中层,低层,怎么换豆无所谓,但是高层得强啊!很遗憾,HUAXIN没这福气。人力总监虽然是聘请过来的,不过角色就是第3方说话的而已,而且也没有什么水平。现在公司是意识到了服务的重要,想过cmm(不是所有部门都过了的),想规范,晚了。以前老总是想先做大,再规范。从结果看,无疑是个愚蠢的决定,树长大了,才发现它歪,无疑很困难。连程序员都知道bug出现在后期有多烦人。

    说了这些,只说了我的看法,公司到这样,到头了。3000人不容易,人家是乡镇企业嘛!

 

 

2007年06月16日

    今日沪综指在开盘后就顺势下探至4067.37点,一举补掉前天的4073.18点的跳高缺口,接着在中国人寿、中国平安、工商银行、中国银行、中国石化等大盘蓝筹股的带动下指数迅速被拉起至翻红,仅仅用了5分钟的时间。。。指数上升到4147.69点之后,这些大盘股就开始了疯狂的打压,导致股n波的跳水,个股纷纷下挫,盘面的恐慌情绪又开始弥漫!这种情况不外乎两种原因:1、拉高掩护庄家出货;2、故意打压指数,人为造成恐慌情绪,进行压盘。个人来看,应该是第二种情况。

        最终上证指数收于4132点,上涨17点,深圳成指收于13697点,上涨30点。两市成交量出现比较大的萎缩,显示市场心态趋于谨慎,在周末消息面不明朗的情况下,更多的投资者选择了观望。

        目前的大盘在前期高点下,振荡是必然的,个股分化也是必然的。不管从消息面还是技术面来看,存在太大的不确定性。因此,从走势上看,前期反弹看作反转还不能下结论,应以反弹看待。而且不排除大盘冲高后构筑一个较为复杂的顶部形态,构筑M头的可能,上证指数的连续上涨使短线累计了大量的获利盘,由于前期高点处曾经产生过暴跌,必然会对这些获利盘造成心理压力,而短线出局来保存利润将是这些短线客的共识。其次,在4300点附近,前期曾经套牢了数以亿计的套牢筹码,难得市场在短期就给出很好的解套机会,这些套牢投资者也必然选择尽快解套的策略,来减少自己的损失。这两方面的压力,直接导致指数近两日在4100点上方步履蹒跚,再加上悬在市场头上随时可能落下的加息这把利剑,市场下周向下调整应该是必然。而一旦选择向下,指数将形成M头的技术形态。这样的话,大盘就极有可能中期调整格局,而调整期将会延长。下周很关键。从目前放远长期看股市,他的中长期上升趋势依然良好

2007年06月15日

好长时间没写了,有项目忙,也有其他原因。

现在,竟有些莫名的感动

 

2007年02月02日

一天到晚的忙,结果数据被一个项目组的同事“误操作”,嗯,一天的工作消失了。

想起我打cs的时候,关键时刻被队友误杀;不自觉又联想到抗日战争,如果好不容易冲到鬼子前,却被后面的战友一颗流弹弄死,何等郁闷!

为什么就不想象一下同事的困难呢,有的数据可能造一天要好久的,别人的劳动成果也不容易啊…

不说了,再说我怕就扯到中国人的劣根性了。

2007年01月26日

http://ariesying.gbaopan.com/files/4956272c12374f2f81a3a08d415b4147.gbp

过年之前彻底完成对core java 学习,当然是自己兴趣的部分

买来很久的《code complete2》1天看0.5-1小时,我觉得可行。

一会去买计算机程序设计语言的艺术,虽然100多,不过也好,看看自己是不是真的想学算法。

设计模式:啥时候看呢。。3月份以前吧,总能开始看的

日语。。这周说啥也要把50音图学了。。太丢人了。这个。。真得好好学了。

至于struts,和其他的什么技术。。。唉。。再说吧

 

2007年01月25日

现在很多国人都很关心人民币升值这个话题,但又不了解美国迫使人民币升值的真正意图何在,现在鄙人就此浅薄的发表一下我的个人看法!

相信大家对80年代的“日本经济衰退”和90年代的“亚洲金融风暴”及“香港的香港金融保卫战”吧!也许有人会说那是国际投机集团“美国索罗斯财团”搞的,但是,你就没有想过它背后难道就没有美国政府的支持了吗?下面,我仔细分析一下这些事件的前因后果你就会明白了。

从1980开始的,特别在1990年和1995年,第一名的美国和第二名的日本之间的GDP差距是多少?日本GDP超过美国GDP的一半!这也是目前为止唯一一次其它国家和美国的经济差距缩小到一半的程度。日本人在欢呼:只要超过美国的GDP,日本就可以恢复“正常国家”了!美国人没有吭声。

按理说,日本还是美国的盟国,其经济也是美国扶持起来的,美国也没有分裂日本的必要(要分裂,二战时就分裂了,也不用等到80-90年代)。美国也不可能对盟国日本使用“颠覆性煽动”,眼看着美国是阻挡不了日本经济的发展前景的了!世界各国都在兴奋的期待着日本GDP超过美国GDP的那个“历史性时刻”!日本企业更加疯狂,美国经济的象征——洛克菲勒广场被日本人买下了!美国的精神象征——好莱坞被日本人买了!美国人民的心情一下子掉到了谷底。“世界第一”就快保不住了!美国人民的荣耀感在急剧下滑,民间开始蔓延仇日情绪。

1980年,日本的GDP就快到美国的一半了。有一件事情在1985年发生了,1985年美国拉拢其它五国(7国集团)逼迫日本签署了。以“行政手段”迫使日元升值。其实的一个中心思想就是日本央行不得“过度”干预外汇市场。日本当时手头有充足的美元外汇储备,如果日本央行干预,日元升不了值。可惜呀,日本是被去了势的太监。美国驻军、政治渗透、连宪法都是美国人帮它度身定做的,想不签广场协议都不可能。

日本最后的结局大家也知道了。1985年9月的广场协议至1988年初.美国要求日元升值。根据协议推高日元,日元兑美元的汇率从协议前的1美元兑240日元上升到1986年5月时的1美元兑160日元。由于美国里根政府坚持认为日元升值仍不到位,通过口头干预等形式继续推高日元。这样,到1988年年初,日元兑美元的汇率进一步上升到1美元兑120日元,正好比广场协议之前的汇率上升了一倍

美国人满足了吗?没有。接着看下去,从1993年2月至1995年4月,当时克林顿政府的财政部长贝茨明确表示,为了纠正日美贸易的不均衡,需要有20%左右的日元升值,当时的日元汇率大致在1美元兑120日元左右,所以,根据美国政府的诱导目标,日元行情很快上升到1美元兑100日元。以后,由于克林顿政府对以汽车摩擦为核心的日美经济关系采取比较严厉的态度。到了1995年4月,日元的汇率急升至1美元兑79日元,创下历史最高记录。

日元升值的后果是什么?洛克菲勒广场重新回到了美国人手中,通用汽车在这个广场的一卖一买中净赚4亿美元!日资在艰难度日中大规模亏本退出美国。美国人民胜利了!成功的击退了日本的经济进攻!我们可以从事例中看看1995年之后,日本和美国的GDP之比重新拉开了距离,而且越来越大!

可能有些网友还是没有明白,日元升值怎么啦?跟我们的谈论有什么关系?日元升值,就是美国对日本的一次经济阻击战!成功的把日本20多年的发展财富大转移到了美国去了。

下面我给个例子大家就清楚了。

假设我是美国财团,我当然知道1985会发生什么,假设我在1983年吧,我用100亿美元兑换成24000亿日元,进入日本市场,购买日本股票和房地产,日本经济的蓬勃导致股市和房地产发疯一样的上涨,1985年广场协议签订,日元开始升值,到1988年初,股市和房地产假设我已经赚到了一倍(5年才翻一倍是最低假设了),那就是48000亿日元。

这时,日元升值到1:120。我把日本的房地产和股票在一年中抛售完,然后兑换回美元,那么,就是400亿美元!在5年时间中,我净赚300亿美元!(还是最低假设)。那么日本呢?突然离开的巨额外资就导致了日本经济的崩溃!经济学用词叫“泡沫经济破灭”。这就是日本常说的:“失去的十年”。而我连本带利的400亿美元回到美国,你想一想,美国经济能不旺盛吗?!!日本“失去的十年”,却正是美国“兴旺的十年”!看看我的上表就知道了。

我只是美国财团中的一个,其它财团呢?嘿嘿,而且我的假设还只是到1988年,如果是到1995年,日元升值到1:79,你我能想象美国在这场经济战争的胜利中,到底从日本刮走了多少财富?

美国赚够了,日元现在又重新回到了1:140的位置上,美元的坚挺依然和30年前一样!美元暂时性的贬值,并没有损害到美元的国际地位。这场美日的经济战争,以美国完胜而告终!!

美国人玩上瘾了。1998年,同样的手法在东南亚四小龙四小虎身上又来了一次,这就是亚洲金融风暴!唯一不同的,这次不需要广场协议了。因为亚洲这些小虎小龙的外汇储备们直接阻击就可以大获全胜!但是,还是没有战胜财大气粗、军事强盛、奉行霸权主义的美国,结局大家也看到了,东南亚货币在先升后跌中,经济发展的成果被美国抢掠一空!!

唯一市场硬挺住了索罗斯的进攻而没有经济崩溃的就只有回归后的香港,保住了香港几十年的发展果实。当时索罗斯发动世界舆论(包括香港舆论),大肆攻击香港政府(中国政府)“行政干预市场”,违反市场经济规则、没有民主自由,要是当时中国屈服于世界的舆论压力而不运用“宏观调控”进行入市干预,那将酿成大祸,又不知道要有多少国人向当年的日本那样因破产而跳楼自杀了!

当时的曾荫权后来说过:“决定政府入市干预的前一晚,我坐在床头哭了,不是为我自己,而是怕这个决定如果错误了,害了香港,我怎么向中央政府向市民们交代。”大家现在知道为什么美国一再要求他国“新闻自由”、“市场经济”、“民主人权”是建立在自己利益的基础上了吧,知道我国的“宏观调控”政策的正确性和优势所在了吧。

美国停手了吗?没有,因为我过综合势力的增长国力的增强威胁到了美国的根本利益和“世界第一”的权威,近来“中国公开支持因儿子丑闻陷入困境的安南,指责美国故意借题发挥进行人生攻击。”就是最好的证明。所以美国心里就不痛快了,就要整人了,现在强迫人民币升值就是消弱中国的第一步,各位明白了吗?知道为什么中央政府突然狂力打压上海和北京的房地产市场?知道为什么中国股市那么惨了吗?央行行长周小川在3月还是4月曾说了一件事情:“有一个40亿美元的外资在上海炒房地产,已经退出中国了这样的外资,不要也罢!”明白了吗?中国股市是一个弱势股市,很容易被美国财团利用。

中央不可能放松对股市的控制,否则中国经济将会在外资的攻击中崩溃!前段时间,也就是今年的12月初又有一个240亿美元的外资财团撤离中国上海。现在,大家对国家的宏观调控的优势有所理解了吧,知道了国家出台那么多针对房地产的政策是多么的明智和及时了吧(文件详文附在后面,有兴趣的可以读读)!

现在各位知道为什么中国要实行国家外汇管制、汇率控制、打压房地产、控制股市、知道为什么中国要保持巨额外汇储备,为什么最近央行又出台了新的房地产贷款规定,为什么中国政府一直要求进出口贸易平衡,为什么要扩展东南亚贸易市场和欧盟市场,为什么要加WTO了。

其实中美之间的经济战争,早就已经开场了,而且来来回回过了几百招了。我们大多数网友还懵懵懂懂的只盯着台海,盯着中亚美军又多了一个军事基地。要知道经济崩溃的灾难远比一场军事战争的后果更严重。军事战争不外乎两种:即“侵略战争”和“卫国战争”。而军事上的“侵略战争”的最终目的就是打垮对方的一切(军事力量和经济实力)达到占领对方领土,进行资源掠夺和控制奴役和剥削对方的国民。

这样的事情中国历史上没有少发生,这里我就不例举事例了。而如今的美国就是以军事上的侵略战争为手段,达到奴役和剥削对方为目的的真实意图(对实力弱小的国家而言),看看如今的“伊拉克”就明白了,美国实际上是侵略占领了伊拉克,控制了伊拉克的石油,以此来满足美国国内巨大的需求量;而对实力强的原苏联(原苏联拥有制对方死地的核力量),美国就只有发动经济进攻来拖垮他们,苏联的分裂就是最好的例子。

也许有的人要说,那是冷战时期的军备竞赛和当时苏联国内政策导致了原苏联因经济崩溃而解体的。但是,你有没有想过,进行军备竞赛是以经济实力为基础的。当时的美国经济实力比苏联强,所以,美国胜利了而苏联解体了。现在轮到我们了,我国现在的经济和军事实力都没有冷战时期的苏联强大,相同点是我国同样也拥有毁灭美国的核武器,只是数量少了一点而已。那在这一轮中,就要看我国领导人的智慧了,建立合理的政策来规避风险,保护自己是当务之急(可喜的是,现在我国已经在这样做了)。

可是,美国也没有闲着,而且,作为经济进攻的第一步他们已经早早的迈出了,向美国“凯雷财团”这样的世界性投机财团收购中国的“徐州重工”这样的事情已经发生了很多了,在这里我就不一一例举了。他们的目的很明确,控制中国的核心技术,进行世界性的技术垄断,迫使??量。同时乘汇率没有变化之前以美元套取人民币,迫使中国央行大量发行人民币以应付大量的货币兑换需求,为拖垮中国经济打下伏笔。这还是明的进入,暗地里的就更无法统计了。

说到这里,也许有很多人不明白大量美元兑换人民币的行为与拖垮中国经济有什么关系。在这里,我解释一下:在没有大量美国财团恶意涌入中国用大量美元换取人民币之前,我国的经济形式是相对稳定的,但是,实际上,我国发行的人民币的数量远没有我国人民积累的财富数量那么多,因为,任何一种货币,只要能保证本国正常的经济活动就行了,??为印刷货币的成本是很高的。

举个例子:中国有13亿人口,平均每人的财富拥有量为1万元每人,中国总共有13万亿元财富,而现实生活中,每个人不可能把自己的全部财富都带在身上,这里就平均一下,平均每个人身上携带1000元现金(携带量为10%,其实这个量已经是很大了),其余的存在银行,也就是说,在正常情况下的流动现金量(术语为:现金流量)为1千亿元,乘以一定的突变系数,(这里为了便于计算,就理想的取值100%),也就是说在正常的经济活动下,中国只要发行2千亿人民币就可以满足本国的经济活动了。

而大量的恶意的国外财团的资金涌入中国,表面上是拉动了我国的经济,是国内的消费量变大,也就是使国内的现金流量的需求变大,这样,我国为了满足大众消费的需求,就会大量印刷和发行人民币来满足这种需求(当年的日本就是这样)。据统计,目前在国际上金融市场上的投资有136万亿美元。

其中只要有1%涌入中国进行投机经营,按现在的汇率,我国就要发行10.895584万亿元人民币(1.36*7.8644=10.695584+0.2=10.895584万亿元),货币的发行总量已经超过了我国现有的外汇储备量(1万亿美元)的10倍,算把中国的全部外汇储备都拿来也难对付对手,此时,我国的国有经济就是负9.895584万亿元,不能算上全中国人民的全部财富,因为,国家经济崩溃了,我们手中的财富也就一文不值了。

如果人民币升值以后,他们再用手头的人民币套取美元,中国国内将会余留大量人民币。那样,国人乃至世界将会对中国失去信心,不再储备和使用甚至抛售手中储备的人民币,使中国的外贸活动受挫,最终导致中国国内的通货膨胀,对外导致信誉危机从而导致金融危机。就向40年代的通货膨胀那样一盒火柴要卖几百块。如果我国政府在这次的人民币汇率这件事上决策错误,那么到时中国近30年来改革开放的经济成果就可能就可能落入他人之手。

最近,国内的经济形式来看,客观的将,形式是不容乐观的。按理说,人民币升值了,也就是说钱值钱了,应该是以前1块钱的东西现在只要9毛甚至是8毛就可以买到了;可是现在的国内形式,除了工资没有涨外其余的都涨了。

新华网报道说:自8月份开始,北京市场食用油价格震荡上扬。进入11月份,米价、面价、菜价及副食价格均有不同程度的攀升。报道认为,是受国际大豆市场价格上扬的影响,导致食用油价格上升。但是,米面跟风而涨,25公斤装的富强粉涨幅达12%以上,500克大米上涨了6分钱。据了解,在上海、广州、深圳粮油等生活必需品已是涨升一遍,并持续一个多月,其中面粉、食用油的最高涨幅分别已达一成和二成。

农副产品涨价说明了我国经济在发展和提高。同时,以农副产品的涨价来增加农民的收入,维护社会的稳定,给国家的发展提供了一个良好的国内环境,对国家的发展是有好处的,因为中国农民的数量毕竟占了总人口比例的70%以上嘛。

但是,中国的这四大城市生活必需品的涨价决外偶然。持续7个多月的宏观调控并没有稳定房价,相反,导致房价的节节攀升。早有经济学家警告说,地产泡沫将导致通货膨胀,通货膨胀将引发经济危机。然而,这种声音太微弱,现如今的种种迹象表明,通货膨胀正在步步逼近我们。

对比1996年的东京,1997年的香港,北京、上海、广州,深圳这四大房价居高不下的城市,地产泡沫破灭前的迹象已经显现。试图为了一已私利而继续哄抬房价的地方政府,将迎来经济规律的无情惩罚。因为这一轮的通货膨胀是在毫无防备的情况下发出的,可能还不被官方承认,但它实实在在已经来临了。这种处在萌芽状态的通货膨胀选择了一个导致经济危机的最好时机——2007年的元旦和春节前。因此,危害性和破坏性更大。如果有一天方便面也开始涨价时,这场经济危机已无法遏制了。

柴米油盐、水电油汽的轮番涨价和全面涨价,对中国的富豪阶层的正常生活不构成任何影响,但是千千万万的普通市民将要付出更多的财富以维持和原来一样的生活水准,也就是说,中国的高房价,间接地是由普通城市居民来买单,日本的国民是花了15年的时间,香港的市民就是花了14年。那么,中国的城市居民要花多少年呢?

应对即将到来的通货膨胀,国家自然有金融的手段。可是,中国的人民币在国际市场受到美元的攻击,一年之内升值达5%,而且,还有继续升值的空间。中国的贸易顺差将在人民币的升值中逐渐缩小,国际市场的风险已在加剧。而国内市场生活必需品的全面涨价,将直接影响消费。最后,逼迫央行加大人民币的发行量,中国的通货膨胀就此爆发。这种危机也可能近在眼前。

人民币目前在国际货币市场的遭遇是中国汇制改革以来没有过的事,我们目前已经知道美元要干什么?但是,还由不得我们把国际市场的问题解决好,人民币在国内又是这样的尴尬。在不动产涨价的带动下,生活必需品全面涨价,形成了国际与国内两种迥然不同的市场。从某种意义上来说,这样的市场将走向资本的过度投机。说白了,对内将加剧中国社会的贫富分化,对外给资本大鳄可乘之机。

如果更深层次的分析,人民币似乎是遭遇来自不同方面的围攻,试图将中国30来年经济发展的成果逐步蚕食。接下来,生活必需品的涨幅将进一步加剧,市民的购买力进一步下降,国内市场进一步缩小,中国的产能将进一步过剩,最后,必然导致大量的中小企业破产,经济危机说来就来。

真正要化解这场危机,对目前的经济局势来说,进一步加大宏观调控的力度,理顺房地产市场的管理体制,采取有力措施,坚决把房价降下来,让城市居民在房价下降的过程中感受中国经济的力量,从而增强对未来的信心。也许,这是目前最应该做的一件事,尽管已经做了一些表面工作。

我们要清醒地看到高房价的危害性,尤其是对中国社会的破坏更是史无前例。也许现在还不必过于悲观,一切都应该有转机。谁都知道中国经济发生了重大问题,就象一辆出现明显故障的高速列车,轰轰隆隆往前飞奔,不知何时将会出轨或者颠覆。有经济学家预言,2008年中国经济将会硬着陆,届时,社会动荡不可避免。

那么,出了这么大的问题,而问题的症结究竟何在呢?

发改委专家马晓河指出:我国正在由某一方面的过剩向全面过剩演变。由于产能过剩,内需不旺,中国产品被迫出口,又导致了大量的贸易摩擦,过分依赖国际市场的风险越来越大。马晓河举例说:中国人向世界上的每一个人提供了一双鞋子,可见鞋的产能过剩多少。11月23日,央行副行长苏宁也表示,中国最终消费占GDP比重已从上世纪80年代超过62%下降到2005的52.1%,居民消费率也从1991年的48.8%下降到2005年的38.2%,均达到历史最低水平。而在中国居民消费率持续下降的同时,世界平均消费率达78%—79%,比较起来差别之大就如天上和地下。

上面两位,一位是宏观经济的专家,一位是金融权威,但指出的是一个共同问题,就是因为内需不旺而导致产能过剩,一旦国际市场出现大的风险,中国将有成千上万工业企业面临生存的危险。

让我们再来看看近几年推动中国经济高速发展的动因是什么:如果总揽中国经济全局就可以发现,推动中国经济高速增长的一是投资,二是消费,三是出口,可以说这是并驾齐驱的“三驾马车。”但是,在我国的实践中是“重投资、重出口、轻消费,”这是问题的表象。为什么中国人会“重投资、重出口、轻消费,”呢?明知消费是生产力,没有消费就没有生产力,这是一个浅显的经济学常识,但是在宏观经济发展的布局上,连马克思的剩余价值理论都不顾及了?

再仔细分析,就会发现很有趣的现象:一是地方政府重投资,前几年表现的是“开发区”热,后来是“基本建设”热,再后来就是现在的“房地产”热;二是大中型企业重工业产品出口,不管是上市公司还是民营企业,只要形成了生产规模,眼光都瞄准了国际市场,大到汽车,家电,小到鞋子,袜子,打火机,一古脑出口。就“投资”热而言,高房价圈走了老百姓甚至两代人的财富,还有一代人背上了沉重的债务;就“出口”热而言,贸易顺差继续加剧,贸易摩擦不断增多,人民币升值压力越来越大。

有经济学家分析,人民币自汇率改革以来升值了5%,现在的状况是有可能2007年一年就要升值5%,相当于前10多年的升值总幅度。那么这个后果是什么呢?许多经济学家讳莫如深,我可以大胆的告诉大家,后果就是人民币大量从不同渠道流出境,国际洗黑钱的势力乘机介入,甚至可以把中国贪官的钱都洗白了。

可以说,在2007年之前,只听说外国人到中国来洗钱,这个局面也将因此而改变,中国人终于到外国去洗钱了。再说得深入一点,就是中国人民创造的财富被别人悄悄地“盗走”了,而“盗匪?发改委专家马晓河先生的话头上,看看如何解决产能过剩的问题。其实,很简单,产能过剩的解决之道是刺激消费,而刺激消费的唯一办法就是降低房价。房价不降,中国人对未来的预期必将产生较大的压力而不敢消费,还有一部分成了房奴无钱消费。马晓河先生说,中国工业品利用率有半数低于50%,所以,为了减少风险,必须扩大内需。而内需如何才能扩大呢?

中国居民的消费率是38.2%,世界平均消费率是78%—79%

中国居民平均房价收入比是一比十,世界平均房价收入比是一比

两相对照,中国经济问题的症结就暴露出来,是高得离谱的房价将中国居民的财富搜刮一空,还拿什么去消费呢?所以中国人的消费率创下了历史新低。有专家预测,中国房价每下降一个点,将为市场一年增加100亿以上的消费,而中国房价从2006年前三季度的综合平均价位上,至少有30%以上的下降空间,也就是说,只要中国房价下降30%,中国市场一年将增加3000亿的消费总额,中国经济的问题也迎刃而解,中国民众也从此能过上好日子。

相反,我国要是领导人的决策事物就控制不好这个局面,我国的经济将会崩溃,国内将??我国的国力衰弱后,必将遭受外强的军事打击。我们都清楚我们现在身处的国际环境有多恶劣。面对当前复杂的国际形势,中国一定要具备打赢两场战争的能力,一是军事战争,二是经济战争。

用战争手段夺取别国别人的财富在人类历史上是很常见的。即使在21世纪的今天也还能看到。为了保护中国人民的生命财产,以及可能爆发的军事冲突,中国一定要建设强大的陆军,强大的海军,强大的空军和强大的天军(太空部队)。

在人类进入21世纪的今天,谁占领了太空这个制高点,谁就掌握了未来战争的主动权。任何太空非军事化的想法,只能是白日做梦!

圣人说得好:落后是要挨打的!中国只有具备了彻底摧毁对手的实力,别人才不敢欺负中国。
同时,在人类进入21世纪的今天,由于国际交流和贸易的全球化,一场新的战争—-经济战争,已经取代军事战争,成为当今世界一部分人夺取另一部分人财产的主要手段

1997年东南亚的金融风暴就是经济战争的一个例子。落后的东南亚国家经济受到了重大打击。国际金融炒家以经济手段达到了以往要用战争手段才能达到的目标。

在少迟一点的香港金融保卫战中,时任香港政务司司长的曾荫权和财政司司长任志刚,在中国中央政府的支持下,用大量外汇储备干预了香港的股票市场。中国中央政府派出了两名央行副行长到香港,要求香港的全部中资机构,全力以赴支持香港政府的扶盘行动。经过几个月的较量,香港政府成功击退了国际金融炒家把香港当作提款机的企图。那次的斗争是非常激烈的,香港恒指变动1点,期货的买卖就会相差2.3亿港币。

香港金融保卫战虽然过去好多年了,我一直在想,如果没有强大中国做后盾,会不会发生“八国联军”攻打香港的可能呢?毕竟香港政府干预香港股票市场违反了当今国际主流社会的“规矩”。

中国航油(新加坡)在国际石油期货市场损失5亿美元和一位中国国资委职员在伦敦同期投资再次被吃表明中国在金融市场方面还有很多东西要学。

就石油这一项,中国现在每年就要多花几百亿美元。现在是中国需要啥,国际商品市场就涨啥。可以说是“抢你没商量”。

然而,石油等商品的价格对中国经济的危害并不是最严重的。真正可能对中国经济的造成严重危害是人民币汇率体系和不断高涨的房地产市场

我总觉得有人要以人民币汇率为突破口,搞垮中国的经济,夺取中国人民的经济成果。从要人民币升值和自由浮动的叫喊声中,我好像闻到了军事战争的火药味。

现在有一个说得比唱得还好听得说法,让人民币汇率自由浮动,由市场来决定。

难道市场是有鬼决定的吗?由市场来决定,听起来挺公平的,大家都有权。但仔细分析一下,世界上有哪个市场不是由少数人操中的呢?让人民币汇率由市场来决定,说穿了就是由他们来决定。

中国政府和人民一定不要忘记1997年东南亚的金融风暴。现在外资的相当一部分是埋下的伏兵。它们就等美国把中国的门撞开(人民币汇价自由浮动),把人民币捧上天,牟取暴利。

总之,中国一定要建设具有一不怕苦,二不怕死精神的强大的陆军,强大的海军,强大的空军和强大的天军(太空部队)以应对可能军事战争。同时中国一定要建设热爱国家,具有国际视野,精通国际竟争规则的金融“铁军”以应对经济战争。只有这样,中国的安全,人民的财富才会得到保护!

 

原文出处:http://dev.csdn.net/author/starlee/f31ed4fe56714b7c84cfc256a7b7d11e.html

第1章 致读者

[1] 在编写程序时,你是在为你针对某个问题的解决方案中的思想建立起一种具体表示。让程序的结构尽可能地直接反映这些思想:
    [a] 如果你能把“它”看成一个独立的概念,就把它做成一个类。
    [b] 如果你能把“它”看成一个独立地实体,就把它做成某个类的一个对象。
    [c] 如果两个类有共同的界面,将此界面做成一个抽象类。
    [d] 如果两个类的实现有某些显著的共同东西,静这些共性做成一个基类。
    [e] 如果一个类是一种对象的容器,将它做成一个模板。
    [f] 如果一个函数实现对某容器的一个算法,将它实现为对一族容器可用的模板函数。
    [g] 如果一组类、模板等互相之间有逻辑关系,将它们放进一个名字空间力。
[2] 在你定义一个并不是实现某个像矩阵或复数这样的数学对象的类时,或者定义一个低层地类型如链接表的时候:
    [a] 不要使用全局数据(使用成员)。
    [b] 不要使用全局函数。
    [c] 不要使用公用数据成员。
    [d] 不要使用友元,除非为了避免[a]或[c]。
    [e] 不要在一个类里面放“类型域”;采用虚函数。
    [f] 不要使用在线函数,除非座位效果显著的优化。

第2章 C++概览

[1] 不用害怕,一切都会随着时间的推移而逐渐明朗起来。
[2] 你并不需要在知道了C++地所有细节之后才能写出好的C++程序。
[3] 请特别关注程序设计技术,而不是各种语言特征。

第3章 标准库概念

[1] 不要像重新发明车轮那样企图做每件事;去使用库。
[2] 不要相信奇迹;要理解你的库能做什么,它们如何做,它们做时需要多大代价。
[3] 当你遇到一个选择时,应该优先选择标准库而不是其他的库。
[4] 不要认为标准库对于任何事情都是最理想的。
[5] 切记#include你所用到的功能的头文件。
[6] 记住,标准库的功能定义在名字空间std中。
[7] 请用string,而不是char*。
[8] 如果怀疑,就用一个检查区间范围的向量。
[9] vector<T>、list<T>和map<key, value>都比T[]好。
[10] 如果要向一个容器中添加一个元素,用push_back()或back_insert()。
[11] 采用对vector的push_back(),而不是realloc()。
[12] 在main()中捕捉公共的异常。

第4章 类型和声明

[1] 保持较小的作用域。
[2] 不要在一个作用域和它外围的作用域里采用同样的名字。
[3] 在一个声明中(只)声明一个名字。
[4] 让常用的和局部的名字比较短,让不常用的和全局的名字比较长。
[5] 避免看起来类似的名字。
[6] 维持某种统一的命名风格。
[7] 仔细选择名字,反映其意义而不是反映实现方式。
[8] 如果所用的内部类型表示某种可能变化的值,请用typdef为它定义一个有意义的名字。
[9] 用typedef为类型定义同义词,用枚举或类去定义新类型。
[10] 切记每个声明中都必须描述一个类型(没有隐式的int)。
[11] 避免有关字符值的不必要的假设。
[12] 避免有关整数大小的不必要假设。
[13] 避免有关浮点类型表示范围的不必要假设。
[14] 优先使用普通的int而不是short int或者long int。
[15] 优先使用double而不是float或者long double。
[16] 优先使用普通的char而不是signed char或者unsigned char。
[17] 避免做出有关对象大小的不必要假设。
[18] 避免无符号算术。
[19] 应该带着疑问去看待从signed到unsigned,或者从unsigned到singed的转换。
[20] 应该带着疑问去看待从浮点到整数的转换。
[21] 应该带着疑问其看待向较小类型的转换,如将int转换到char。

第5章 指针、数组和结构

[1] 避免非平凡的指针算术。
[2] 当心,不要超出函数的界限去写。
[3] 尽量使用0而不是NULL。
[4] 尽量使用vector和valarrray而不是内部(C风格)的数组。
[5] 尽量使用string而不是以0结尾的char数组。
[6] 尽量少使用普通的引用参数。
[7] 避免void*,除了在某些低级代理。
[8] 避免在代码中使用非平凡的文字量(“神秘的数”)。相反,应该定义和使用各种符号常量。

第6章 表达式和语句

[1] 应尽量可能使用标准库,而不是其他的库和“手工打造的代码”。
[2] 避免过于复杂的表达式。
[3] 如果对运算符的优先级有疑问,加括号。
[4] 避免显式类型转换。
[5] 若必须做显式类型转换,提倡使用特殊强制运算符,而不是C风格的强制。
[6] 只对定义良好的构造使用T(e)记法。
[7] 避免带有无定义求值顺序的表达式。
[8] 避免goto。
[9] 避免do语句。
[10] 在你已经有了去初始化某个变量的值之前,不要去声明它。
[11] 式注释简洁、清晰、有意义。
[12] 保持一致的缩进编排风格。
[13] 倾向于去定义一个成员函数operator new()去取代全局的operator new()。
[14] 在读输入的时候,总应考虑病态形式的输入。

第7章 函数

[1] 质疑那些非const的引用参数;如果你想要一个函数去修改其参数,请使用指针或者返回值。
[2] 当你需要尽可能减少参数复制时,应该使用const引用参数。
[3] 广泛而一致地使用const。
[4] 避免宏。
[5] 避免不确定数目的参数。
[6] 不要返回局部变量的指针或者引用。
[7] 当一些函数对不同的类型执行概念上相同的工作时,请使用重载。
[8] 在各种整数上重载时,通过提供函数去消除常见的歧义性。
[9] 在考虑使用指向函数的指针时,请考虑虚函数或模板是不是更好的选择。
[10] 如果你必须使用宏,请使用带有许多大写字母的丑陋的名字。

第8章 名字空间和异常

[1] 用名字空间表示逻辑结构。
[2] 将每个非局部的名字放入某个名字空间里,除了main()之外。
[3] 名字空间的设计应该让你能很方便地使用它,而又不会意外地访问了其他的无关名字空间。
[4] 避免对名字空间使用很短的名字。
[5] 如果需要,通过名字空间别名去缓和和长名字空间的影响。
[6] 避免给你的名字空间的用户添加太大的记法负担。
[7] 在定义名字空间的成员时使用namespace::member的形式。
[8] 只在转换时,或者在局部作用域里,才用using namespace。
[9] 利用异常去松弛“错误”处理代码和正常处理代码之间的联系。
[10] 采用用户定义类型作为异常,不用内部类型。
[11] 当局部控制结构足以应付问题,不要使用异常。

第9章 源文件和程序

[1] 利用头文件去表示界面和强调逻辑结构。
[2] 用#include将头文件包含到实现有关功能的源文件里。
[3] 不要在不同编译单位里定义具有同样名字,意义类似但又不同的全局变量。
[4] 避免在头文件里定义非inline函数。
[5] 只在全局作用域或名字空间里使用#include。
[6] 只用#include包含完整的定义。
[7] 使用包含保护符。
[8] 用#include将C头文件包含到名字空间里,以避免全局名字。
[9] 将头文件做成自给自足的。
[10] 区分用户界面和实现界面。
[11] 区分一般用户界面和专家用户界面。
[12] 在有意向用于非C++程序组成部分的代码中,应避免需要运行时初始化的非局部对象。

第10章 类

[1] 用类表示概念。
[2] 只将public数据(struct)用在它实际杀过那仅仅时数据,而且对于这些数据成员并不存在不变式的地方。
[3] 一个具体类型属于最简单的类。如果有用的话,就应该尽可能使用具体类型,而不要采用更复杂的阿里,也不要用简单的数据结构。
[4] 只将那些需要直接访问类的表示的函数作为成员函数。
[5] 采用名字空间,使类与其协助函数之间的关系更明确。
[6] 将那些不修改对象值的成员函数做成const成员函数。
[7] 将那些需要访问类的表示,但无须针对特定对象调用的成员函数做成static成员函数。
[8] 通过构造函数建立起类的不变式。
[9] 如果构造函数申请某种资源,析构函数就应该释放一资源。
[10] 如果在一个类里有指针成员,它就要有复制操作(包括复制构造函数和复制赋值)。
[11] 如果在一个类里有引用成员,它就可能需要有复制操作(包括复制构造函数和复制赋值)。
[12] 如果一个类需要复制操作或析构函数,它多半还需要有构造函数、析构函数、复制赋值函数和复制构造函数。
[13] 在复制赋值函数里需要检查自我赋值。
[14] 在写复制构造函数时,请小心地复制每个需要复制的元素(当心默认的初始式)。
[15] 在向某个类中添加新成员函数时,一定要仔细检查,看是否存在需要更新的用户定义构造函数,以使它能够初始化新成员。
[16] 在类声明中需要定义整型常量时,请使用枚举。
[17] 在构造全局的和名字空间的对象时,应避免顺序依赖性。
[18] 用第一次开关去缓和顺序依赖性问题。
[19] 请记住,临时对象将在建立它们的那个完整表达式结束时销毁。

第11章 运算符重载

[1] 定义运算符主要是为了模仿习惯使用方式。
[2] 对于大型运算对象,请使用const引用参数类型。
[3] 对于大型的结果,请考虑优化返回方式。
[4] 如果默认复制操作对一个类和合适,最好是直接用它。
[5] 如果默认复制操作对一个类不和合适,重新定义它,或者禁止它。
[6] 对于需要访问表示的操作,优先考虑作为成员函数而不是作为非成员函数。
[7] 对于不访问表示的操作,优先考虑作为非成员函数而不是作为成员函数。
[8] 用名字空间将协助函数与“它们的”类关联起来。
[9] 对于对称的运算符采用非成员函数。
[10] 用()作为多维数组的下标。
[11] 将只有一个“大小参数”的构造函数做成explicit。
[12] 对于非特殊的使用,最好是用标准string而不是你自己的练习。
[13] 要注意引进隐式转换的问题。
[14] 用成员函数表达那些需要左值作为其左运算对象的运算符。

第12章 派生类

[1] 避免类型域。
[2] 用指针和引用避免切割问题。
[3] 用抽象类将设计的中心集中到提供清晰的界面方面。
[4] 用抽象类是界面最小化。
[5] 用抽象类从界面中排除实现细节。
[6] 用虚函数是新的实现能够添加进来,又不会影响用户代码。
[7] 用抽象类去尽可能减少用户代码的重新编译。
[8] 用抽象类是不同的实现能够共存。
[9] 一个有虚函数的类应该有一个虚析构函数。
[10] 抽象类通常不需要构造函数。
[11] 让不同概念的表示也不同。

第13章 模板

[1] 用模板描述需要使用到许多参数类型上去的算法。
[2] 用模板表述容器。
[3] 为指针的容器提供专门化,以减小代码规模。
[4] 总是在专门化之前声明模板的一般形式。
[5] 在专门化的使用之前先声明它。
[6] 尽量减少模板定义对于实例化环境的依赖性。
[7] 定义你所声明的每一个专门化。
[8] 考虑一个模板是否需要有针对C风格字符串和数组的专门化。
[9] 用表述策略的对象进行参数化。
[10] 用专门化和重载为同一概念的针对不同类型的实现提供统一界面。
[11] 为简单情况提供简单界面,用重载和默认参数去表述不常见的情况。
[12] 在修改为通用模板之前,在具体实例上排除程序错误。
[13] 如果模板定义需要在其他编译单位里访问,请记住写export。
[14] 对大模板和带有非平凡环境依赖性的模板,应采用分开编译的方式。
[15] 用模板表示转换,但要非常小心地定义这些转换。
[16] 如果需要,用constraint()成员函数给模板的实参增加限制。
[17] 通过显式实例化减少编译和连接时间。
[18] 如果运行时的效率非常重要,那么最好用模板而不是派生类。
[19] 如果增加各种变形而又不重新编译是很重要的,最好用派生类而不是模板。
[20] 如果无法定义公共的基类,最好用模板而不是派生类。
[21] 当有兼容性约束的内部类型和结构非常重要时,最好用模板而不是派生类。

第14章 异常处理

[1] 用异常做错误处理。
[2] 当更局部的控制机构足以应付时,不要使用异常。
[3] 采用“资源申请即初始化”技术去管理资源。
[4] 并不是美国程序都要求具有异常时的安全性。
[5] 才用“资源申请即初始化”技术和异常处理器去维持不变式。
[6] 尽量少用try块,用“资源申请即初始化”技术,而不是显式的处理器代码。
[7] 并不是美国函数都需要处理每个可能的错误。
[8] 在构造函数里通过抛出异常指明出现失败。
[9] 在从赋值中抛出异常之前,式操作对象处于合法状态。
[10] 避免从析构函数里抛出异常。
[11] 让main()捕捉并报告所有的异常。
[12] 使正常处理代码和错误处理代码相互分离。
[13] 在构造函数里抛出异常之前,应保证释放在此构造函数里申请的所有资源。
[14] 使资源管理具有层次性。
[15] 对于主要界面使用异常描述。
[16] 当心通过new分配的内存在发生异常时没有释放,并由此而导致存储的流失。
[17] 如果一函数可能抛出某个异常,就应该假定它一定会抛出这个异常。
[18] 不要假定所有异常都时由excepion类派生出来的。
[19] 库不应该单方面终止程序。相反,应该抛出异常,让调用者去做决定。
[20] 库不应该生成面向最终用户的错误信息。相反,它应该抛出异常,让调用者去做决定。
[21] 在设计的前期开发出一种错误处理策略。

第15章 类层次结构

[1] 利用常规的多重继承表述特征的合并。
[2] 利用多重继承完成实现细节与界面分离。
[3] 用virtual基类表达在类层次结构里对某些类(不是全部类)共同的东西。
[4] 避免显式的类型转换(强制)。
[5] 在不可避免地需要漫游类层次结构的地方,使用dynamic_cast。
[6] 尽量使用dynamic_cast而不是typeid。
[7] 尽量使用private而不是protected。
[8] 不要声明protected数据成员。
[9] 如果某个类定义了operator delete(),它也应该有虚析构函数。
[10] 在构造和析构期间不要调用虚函数。
[11] 尽量少用为解析成员名而写的显式限定词,最好时在覆盖函数里用它。

第16章 库组织和容器

[1] 利用标准库功能,以维持可移植性。
[2] 决不要另行定义标准库的功能。
[3] 决不要认为标准库比什么都好。
[4] 在定义一种新功能时,应考虑它是否能纳入标准库所提供的框架中。
[5] 记住标准库功能都定义在名字空间std里。
[6] 通过包含保准卡头文件声明其功能,不要自己另行显式声明。
[7] 利用后续抽象的优点。
[8] 避免肥大的界面。
[9] 与自己写按照反向顺序的显式循环相比,最好是写利用反向迭代器的算法。
[10] 用base()从reverse_iterator抽取出iterator。
[11] 通过引用传递容器。
[12] 用迭代器类型,如list<char>::iterator,而不要采用索引容器元素的指针。
[13] 在不需要修改容器元素时,使用const迭代器。
[14] 如果希望检查访问范围,请(直接或间接)使用at()。
[15] 多用容器和push_back()或resize(),少用数组和realloc().
[16] vector改变大小之后,不要使用指向其中的迭代器。
[17] 利用reserve()避免使迭代器非法。
[18] 在需要的时候,reserve()可以使执行情况更容易预期。

第17章 标准库容器

[1] 如果要用容器,首先考虑用vector。
[2] 了解你经常使用的每个操作的代价(复杂性,大O度量)。
[3] 容器的界面、实现和表示使不同的概念,不要混淆。
[4] 你可以依据多种不同准则去排序和搜索。
[5] 不要用C风格的字符串作为关键码,除非你提供了一种适当的比较准则。
[6] 你可以定义这样的比较准则,使等价的但是不相同的关键码值映射到同一个关键码。
[7] 在插入和删除元素时,最好时使用序列末端的操作(back操作)。
[8] 当你需要在容器的前端或中间做许多插入和删除时,请用list。
[9] 当你主要通过关键码访问元素时,请用map或multimap。
[10] 尽量用最小的操作集合,以取得最大的灵活性。
[11] 如果要保持元素的顺序性,选用map而不是hash_map。
[12] 如果查找速度极其重要,选hash_map而不是map。
[13] 如果无法对元素定义小于操作时,选hash_map而不是map。
[14] 当你需要检查某个关键码是否在关联容器里的时候,用find()。
[15] 用equal_range()在关联容器里找出所有具有给定关键码的所有元素。
[16] 当具有同样关键码的多个值需要保持顺序时,用multimap。
[17] 当关键码本身就是你需要保存的值时,用set或multiset。

第18章 算法和函数对象

[1] 多用算法,少用循环。
[2] 在写循环时,考虑是否能将它表述为一个通用的算法。
[3] 常规性地重温算法集合,看卡是不是能将新应用变得更明晰。
[4] 保证一对迭代器参数确实表述了一个序列。
[5] 设计时应该让使用最频繁的操作时简单而安全的。
[6] 吧测试表述成能够作为谓词使用的形式。
[7] 切记谓词是函数和对象,不是类型。
[8] 你可以用约束器从二元谓词做出一元谓词。
[9] 利用mem_fun()和mem_fun_ref()将算法应用于容器。
[10] 当你需要将一个参数约束到一个函数上时,用ptr_fun()。
[11] 切记srrcmp()用0表示“相等”,与==不同。
[12] 仅在没有更特殊的算法时,才使用for_each()和tranform()。
[13] 利用谓词,以便能一各种比较准则和相等准则使用算法。
[14] 利用谓词和其他函数对象,以使标准算法能用于表示范围广泛的意义。
[15] 运算符<和==在指针上的默认意义很少适用于标准算法。
[16] 算法并不直接为它们的参数序列增加或减少元素。
[17] 应保证用于同一个序列的小于和相等谓词相互匹配。
[18] 有时排好序的序列用起来更有效且优雅。
[19] 仅为兼容性而使用qsort()和bsearch()。

第19章 迭代器和分配器

[1] 在写一个算法时,设法确定需要用哪种迭代器才能提供可接受的效率,并(只)使用这种迭代器所支持的操作符去表述算法。
[2] 当给定的迭代器参数提供了多于算法所需 的最小支持时,请通过重载为该算法提供效率更高的实现。
[3] 利用istream_traits为不同迭代器类别描述适当的算法。
[4] 记住在istream_iterator和ostream_iterator的访问之前使用++。
[5] 用插入器避免容器溢出。
[6] 在排错时使用额外的检查,后面只在必须时才删除这些检查。
[7] 多用++p,少用p++。
[8] 使用未初始化的存储去改善那些扩展数据结构的算法性能。
[9] 使用临时缓冲区去改善需要临时数据结构的算法的性能。
[10] 在写自己的分配器之前三思。
[11] 避免malloc()、free()、realloc()等。
[12] 你可以通过为rebind所用的技术去模拟对模板的typedef。

第20章 串

[1] 尽量使用string操作,少用C风格字符串函数。
[2] 用string作为变量或者成员,不作为基类。
[3] 你可以将string作为参数值或者返回值,让系统去关心存储管理问题。
[4] 当你希望做范围检查时,请用at()而不是迭代器或者[]。
[5] 当你希望优化速度时,请用迭代器或[]而不是at()。
[6] 直接或者间接地使用substr()去读字子串,用replace()去写子串。
[7] 用find()操作在string里确定值的位置(而不是写一个显式的循环)。
[8] 在你需要高效率地添加字符时,请在string的后面附加。
[9] 在没有极端时间要求情况下用string作为字符输入的目标。
[10] 用string::npos表示“sring的剩余部分”。
[11] 如果必要,就采用低级操作去实现极度频繁使用的strng(而不是到处用低级数据结构)。
[12] 如果你使用string,请在某些地方捕捉length_error和out_of_rang异常、
[13] 小心,不要将带值0的char*传递给字符串函数。
[14] 只是到必须做的时候,(再)用c_str()产生string的C风格表示。
[15] 当你需要知道字符串的类别时,用isalpha()、isdigit()等函数,不要自己去写对字符值的检测。

第21章 流

[1] 在为用户定义类型的值定义<<和>>时,应该采用意义清晰的正文表达形式。
[2] 在打印包含低优先级运算符的表达式时需要用括号。
[3] 在添加新的<<和>>运算符时,你不必修改istream或ostream。
[4] 你可以定义函数,时其能基于第二个(或更后面的)参数,具有像virtual函数那样的行为。
[5] 切记,按默认约定>>跳过所有空格。
[6] 使用低级输入函数(如get()和read())主要是为了实现高级输入函数。
[7] 在使用get()、getline()和read()时留心其终止准则。
[8] 在控制I/O时,尽量采用操控符,少用状态标志。
[9] (只)用异常去捕捉罕见的I/O错误。
[10] 联结用于交互式I/O的流。
[11] 使用哨位将许多函数的入口和出口代码集中到一个地方。
[12] 在无参数操控符最后不要写括号。
[13] 使用标准操控符式应记住写#include <iomanip>。
[14] 你可以通过定义一个简单函数对象得到三元运算符的效果(和效率)。
[15] 切记,width描述只应用于随后的一个I/O操作。
[16] 切记precision描述只对所后所的浮点数输出操作有效。
[17] 用字符串流做内存里的格式化。
[18] 你可以描述一个文件流的模式。
[19] 在扩充I/O系统时,应该清楚地区分格式化(iostream)和缓冲(streambuf)。
[20] 将传输值的非标准方式实现为流缓冲。
[21] 将格式化值的非标准方式实现为流操作。
[22] 你可以利用一对函数隔离和封装其对用户定义代码的调用。
[23] 你可以在读入之前用in_avail()去确定输入操作是否会被阻塞。
[24] 划分清楚需要高效的简单操作和实现某种策略的操作(将前者做成inline,将后者做成virtual)。
[25] 用locale将“文化差异”局部化。
[26] 用sync_with_stdio(x)去混合C风格和C++风格的I/O,或者离解C风格和C++风格的I/O。
[27] 当心C风格I/O的类型错误。

第22章 数值

[1] 数值问题常常和微妙。如果你对数值问题的数学方面不是100%有把握,请去找专家或者做试验。
[2] 用numberic_limits去确定内部类型的性质。
[3] 为用户定义的标量类型描述numberic_limits。
[4] 如果运行时效率比对于操作和元素的灵活性更重要的话,那么请用valarray去做数值计算。
[5] 用切割表述在数组的一部分上的操作,而不是用循环。
[6] 利用组合器,通过清除临时量和更好的算法来获得效率。
[7] 用std::complex做复数算术。
[8] 你可以把使用complex类的老代码通过一个typedef转为用str::complex模板。
[9] 在写循环从一个表出发计算某个值之前,先考虑一下accumulate()、inner_produce()、partial_sum()和adjacent_difference()。
[10] 最好使用具有特定分布的随机数,少直接用rand()。
[11] 注意是你的随机数充分随机。

第23章 开发和设计

[1] 知道你试图达到什么目的。
[2] 心中牢记软件开发是一项人的活动。
[3] 用类比来证明是有意的欺骗。
[4] 保持一个特定的实实在在的目标。
[5] 不要试图用技术方式去解决社会问题。
[6] 在设计和对待人员方面都应该有长期考虑。
[7] 对于什么程序在编码之前先行设计是有意义的,在程序规模上并没有下限。
[8] 设计过程应鼓励反馈。
[9] 不要将做事情都当做取得了进展。
[10] 不要推广到超出了所需要的、你已有直接经验的和已经测试过的东西。
[11] 将概念表述为类。
[12] 系统里也存在一些不应该用类表述的性质。
[13] 将概念间的层次关系用类层次结构表示。
[14] 主动到应用和实现中去寻找概念间的共性,将由此得到的一般性概念表示为基类。
[15] 在其他领域中的分类方式未必适合作为应用中的继承模型的分类方式。
[16] 基于行为和不变式设计类层次结构。
[17] 考虑用例。
[18] 考虑用CRC卡。
[19] 用现存系统作为模型、灵感的源泉和出发点。
[20] 意识到视觉图形工程的重要性。
[21] 在原型成为负担时就抛弃它。
[22] 为变化而设计,将注意力集中到灵活性、可扩展性、可移植性和重用。
[23] 将注意力集中到组件设计。
[24] 让每个界面代表在一个抽象层次中的一个概念。
[25] 面向变化进行设计,以求得稳定性。
[26] 通过将广泛频繁使用的界面做得最小、最一般和抽象来使设计稳定。
[27] 保持尽可能小,不为“特殊需要”增加新特征。
[28] 总考虑类的其他表示方式。如果不可能有其他方式,这个类可能就没有代表某个清晰的概念。
[29] 反复评审、精化设计和实现。
[30] 采用那些能用于调试,用于分析问题、设计和实现的最好工具。
[31] 尽早、尽可能频繁地进行试验、分析和测试。
[32] 不要忘记效率。
[33] 保持某种适合项目规模的规范性水平。
[34] 保证有人负责项目的整体设计。
[35] 为可重用组件做文档、推介和提供支持。
[36] 将目标与细节一起写进文档里。
[37] 将为新开发者提供的教许材料作为文档的一部分。
[38] 鼓励设计、库和类的重用,并给予回报。

第24章 设计和编程

[1] 应该向数据抽象和面向对象设计的方向发展。
[2] (仅仅)根据需要去使用C++的特征和技术。
[3] 设计应与编程风格相互匹配。
[4] 将类/概念作为设计中最基本的关注点,而不是功能/处理。
[5] 用类表示概念。
[6] 用继承(仅仅)表示概念间的层次结构关系。
[7] 利用应用层静态类型的方式给出有关界面的更强的保证。
[8] 使用程序生成器和直接界面操作工具去完成定义良好的工作。
[9] 不要去使用那些与任何通用程序设计语言之间都没有清晰界面的程序生成器或者直接界面操作工具。
[10] 保存不同层次的抽象相互分离。
[11] 关注组件设计。
[12] 保证虚函数有定义良好的意义,每个覆盖函数都实现预期行为。
[13] 公用界面表示的是“是一个”关系。
[14] 成员表示的是“有一个”关系。
[15] 在表示简单包容时最好用直接成员,不用指向单独分配的对象的指针。
[16] 设法保证使用依赖关系为易理解的,尽可能不出现循环,而且最小。
[17] 对于所有的类,定义好不变式。
[18] 显式地将前条件、后条件和其他断言表述为断言(可能使用Assert())。
[19] 定义的界面应该只暴露初尽可能少的信息。
[20] 尽可能减少一个界面对其他界面的依赖性。
[21] 保持界面为强类型的。
[22] 利用应用层的类型来表述界面。
[23] 将界面表述得使请求可以传递给远程得服务器。
[24] 避免肥大的界面。
[25] 尽可能地使用private数据和成员函数。
[26] 用protected/private区分开派生类的设计者与一般用户间的不同需要。
[27] 使用模板去做通用型程序设计。
[28] 使用模板去做算法策略的参数化。
[29] 如果需要在编译时做类型解析,情使用模板。
[30] 如果需要在运行时做类型解析,请使用层次结构。

第25章 类的作用

[1] 应该对一个类的使用方式做出有意识的决策(作为设计师或者作为用户)。
[2] 应注意到涉及不同种类的类之间的权衡问题。
[3] 用具体类型去表示简单的独立概念。
[4] 用具体类型去表示那些最佳效果及其关键的概念。
[5] 不要从具体类派生。
[6] 用抽象类去表示那些对象的表示可能变化的界面。
[7] 用抽象类去表示那些可能出现多种对象表示共存情况的界面。
[8] 用抽象类去表示现存类型的新界面。
[9] 当类似概念共享许多实现细节时,应该使用结点类。
[10] 用结点类去逐步扩充一个实现。
[11] 用运行时类型识别从对象获取界面。
[12] 用类去表示具有与之关联的状态信息的动作。
[13] 用类去表示需要存储、传递或者延迟执行的动作。
[14] 利用界面类去为某种新的用法而调整一个类(不修改这个类)。
[15] 利用界面类增加检查。
[16] 利用句柄去避免直接使用指针和引用。
[17] 利用句柄去管理共享的表示。
[18] 在那些能预先定义控制结构的应用领域中使用应用框架。

        终于写打完了,累得手都发酸了!其实,书看了只是知道了里面的知识而已,而要想真正的把书上的知识成为自己的,还得下大功夫去实践。搞编程尤其是这样,高手都是写程序写出来的,而不是看书看出来的。只有在写程序的时候经常想起这些忠告,慢慢的把它们应用到自己的开发过程中,这本书才算没有白看。

算起来已经是病休第3天了,趁着放假,胡思乱想了一通。无果。

勉强有句从朋友那得到一句话,到了我这还挺贴切:人,得知道自己想要什么,那些不知道自己想要什么的,我看还是算了。

像我们这些生活在程序员圈里的人,我看还是称为程序员圈(juan,第4声)更合适一些。哈哈~~圈里圈外,大家今年都是小金猪。金猪赚钱会不会多一些呢?