快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

wellbet牛牛游戏官方网站:学编程的人不能不看的好文章



学编程的人不能不看的好文章

做为一名大年夜四的门生,我口试过不少的单位,有成功的也有掉败的,然则对我来说所有的掉败在某种意义上都是一种成功,分外是我下面写的这些,写这篇文章的时刻,我已经签了南京的一家软件公司,然则想起今年2月21日我口试姑苏台湾的IT公司的经历遐想到我们现在进修编程的一些环境我真的深有感触,此次口试使我深深的体会到了掉败但也劳绩了很多。我要说的将分成三部分,

1.是我口试的详细颠末

2.是由口试想到的

3.现今我应该做的。

当然这些话很大年夜程度上是我小我的意见,弗成能完全获得大年夜家的附和,以是在某些不雅点上假如哪位同伙感觉跟我的有很大年夜进出,请不要介意,也不要对我进击,就当我没有说过,迎接和我联系合营探究这些问题!我的EMAIL:wutao8@263.net

1.口试颠末大年夜约在年前我接到了台湾瑞晟(Realtek)姑苏公司的口试看护,看护我2月21日到姑苏工业园区口试,接到口试后的几天我把一些专业课温习了一遍,分外是C++和数据布局,因为大年夜学几年里,我不停专研这些方面,加上经由过程了高档法度榜样员的考试,对付一些常用的算法我差不多也达到了烂熟于胸的地步,当时的感到是假如问了我这些方面的问题我应该是没有问题的!21日那天我被安排在4:30口试,由一位技巧职员零丁给我口试,在问了一些简单的问题之后他给我出了一道编程题目,题目是这样的:

(因为详细口试的题目对照啰嗦,我将其核心思惟提掏出来分化成了两个自力的简单的问题,有可能问题分化的欠妥,请大年夜家见谅,实际口试了一个的问题但比其繁杂很多,而且涉及一些高等数学变换)

1) 写一个函数谋略当参数为n(n很大年夜)时的值 1-2+3-4+5-6+7......+n

哼,我的心里冷笑一声!没想到这么简单,我有点首要的心情立时放松起来!

于是很快我给出我的解法:

long fn(long n)

{

long temp=0;

int i,flag=1;

if(n 0);

exit(1);

}

for(i=1;i 0);

exit(1);

}

while(j0?i++:i--;

j++;

}

return temp;

}

虽然我不敢包管我这个算法是最优的,然则比起上一个法度榜样,我将所有涉及到乘法指令的语句改为履行加法指令,既达到要题目的要求而且运算光阴上缩短了很多!而价值仅仅是增添了一个整型变量!然则我现在的信心已经受了一点袭击,我将信将疑的看者口试官,他照样微笑着跟我说:“不错,这个法度榜样确凿在效率上有的很大年夜的前进!”我心里一阵暗喜!但他接着说这个法度榜样仍旧不能达到他的要求,要我给出更优的规划!天啊!还有优化!我当时真的有点崩溃了,想了一会后,我哀求他给出他的规划!然后他很爽快的给出了他的法度榜样!

long fn(long n)

{

if(n 0);

exit(1);

}

if(0==n%2)

return (n/2)*(-1);

else

return (n/2)*(-1)+n;

}

搞笑,当时我理屈词穷,没想到他是这个意思,这么简单的代码我真的不会写吗,然则我为什么没有往那方面上想呢!他说的没有错,在n很大年夜很大年夜的时刻这三个法度榜样运行光阴的差另外确是天地之别!当我刚想开口说点什么的时刻,他却先开口了:“不要觉得CPU运算速率快就把所有的问题都推给它去做,法度榜样员应该将代码优化再优化,我们自己能做的决不要让CPU做,由于CPU是为用户办事的,不是为我们法度榜样员办事的!”多么精辟的说话,我已经不想再说什么了!接着是第二个问题:

2),他要求我用一种技术性的编程措施来用一个函数实现两个函数的功能n为如:fn1(n)=n/2!+n/3!+n/4!+n/5!+n/6!

fn2(n)=n/5!+n/6!+n/7!+n/8!+n/9! 现在用一个函数fn(int n,int flag)实现,当flag为0时,实现fn1功能,假如flag为1时实现fn2功能!他的要求照样效率,效率,效率!说其真话,假如我心情好的话我应该能给出一种对照好的算法,但我那时真的没有什么心思再想了,我在纸上胡乱画了一些诸如6!=6*5!的公式后刀切斧砍的跟他说要他给出他的谜底!口试官也没有说什么,给出了他的思路:

定义一个二维数组 float t[2][5]存入[2!,3!,4!,5!,6!},{5!,6!,7!,8!,9!]然后给出一个轮回:

for(i=0;i<6;i++)

{

temp=temp+n/t[flag];

}

着末获得谋略值!呵呵,范例的空间换光阴的算法!

这些统共花了50分钟的光阴,还有十分钟我就跟他很随意的聊谈天,聊了一些编程以及生活的问题,那时的我已经很放松了,

由于我知道此次口试结果只有一个:掉败。5:30的时刻口试官要我等看护,于是我脱离了他们公司。这便是口试的全部颠末!

2.由口试想到的

真的是很掉败啊!我记得那世界好大年夜的雨,气温也很低,我边走边想,从5:30不停走到7:30,满身都湿透了,又冷又饿,然则我只是不停走,脑筋里面充溢了疑心,我也想让雨把自己淋醒!看到这里有些同伙可能感觉那些口试题目不算什么假如让自己做的话肯定能整个答对,我肯定信托你,由于我从未狐疑过中公法度榜样员的能力,我觉得中国有天下上最好的法度榜样员,我也从未觉得自己是高手,以是我做不出来不代表中公法度榜样员比台湾或者其余地方的法度榜样员差,以是我就从我的角度,我的所见所想来谈一些感想:

不错全天下都有优秀的法度榜样员,中国也不例外,然则我疑心的是:到底中国和台湾或者国外的优秀的法度榜样员的比例到底是若干?台湾我不知道,中国100个法度榜样员里有几个是优秀的呢?我根本算不上,从上面的体现就足以阐明统统了!是1个?5个?10个?50个?这个数字我不敢乱猜,恐遭网友一顿大骂,那么我们海内有若干人进修谋略机呢?拿我们黉舍来说,谋略机97级4个班,98级5个班,99级10个班,2000级17个班,人多了,师长教师怎么办?我们黉舍的做法是让钻研生上课,然后呢?补考一抓一大年夜把,大年夜把大年夜把的补考费落入了黉舍的口袋,还说现在的门生本质低!真是可笑,我都不知道黉舍这么做是为了什么,为海内培养大年夜量的法度榜样员吗?门生们能真正学到谋略机常识吗?好了,我敢讲,在我们黉舍进修编程门生和优秀法度榜样员(留意我指的是优秀,只会编几个糟烂法度榜样的人算不上)的比例应该是100:0.1在这种比例下虽然我们中国进修编程的人铺天盖地,然则想想有若干小我能真正为中国软件业成长作出供献,有若干人能真正写出优秀的法度榜样名扬外洋!

我从进修编程以来,不管是自学照样师长教师指示,从来都是办理问题就好,编出法度榜样来就行,我的疑心是:我们有真正的强调过法度榜样的效率,法度榜样的质量吗?我们有仔细阐发过我们写的器械,看看有没有可以改进的地方,看看有没有简单的措施来达到同样的目的呢?我问心自问,我发明,我从来没有对我写出来的法度榜样进行过优化,最多便是进行具体的测试,然后Debug,然则这就足够了吗?这些天我有时发明我曾经写过的一个游戏,那是一年前我刚加http://www.vcroad.net/做为此中一员时刻,感到应该拿点器械出来,然后花了一个礼拜的光阴写出来的!法度榜样不算繁杂,然则用到了不少数据布局的器械,也用到了一些杰出的算法,加上windows的界面和游戏的可玩性,写完后受到了不少好评,我当时真的很佩服自己!然则现在看呢:没有一句wellbet牛牛游戏官方网站注释,很多多少丑陋的函数名比如:void chushihua(),很多多少没有需要的变量,可以用简单语句完成事情的我应用富丽的算法,大年夜量应用全局变量.....,说不好听的话,六百多行的法度榜样除了能运行之外便是一陀屎!假如一年前我能听到一些不和意见的话,大年夜概我能早一点醒悟,然则自从原代码在网站宣布以来听到的都是讴歌之词,没有一小我向我提出法度榜样改进的意见,这又阐清楚明了一个什么问题呢?很值得思虑啊!

还有一个疑心是:我们说的和做的真的一样吗?我在黉舍的时刻曾经受学院指派承办过一个谋略机大年夜赛,请了一个师长教师出决赛的题目,主如果一些算法题目,这个师长教师可能是我上大年夜学以来独一敬重的师长教师了,从法度榜样调试到打分,对付每个法度榜样都仔细阐发当光阴效率和空间效率,然后综合打分,四十小我的卷子,师长教师从下昼三点不停调试到晚上十点,在有些写的杰出的语句后还加上批注。我真是很痛快碰到这样的师长教师并且和他做深入的交流,但在事后,却发生了一件不开心的事,在比赛中得到第二名的门生找到我,说他法度榜样整个调试成功应该给他满分,并且应该得第一,我说不过他,着末调出了他的原法度榜样和第一名的原法度榜样比较,不错,两个法度榜样都运行的很好,这时,那个同砚开口了:“我的法度榜样写的十分简捷清楚明了,仅仅数行就完成了题目要求,而他的却写了一大年夜堆,为什么给他的分多过给我的分。”我当时很是朝气,假如不是师长教师不认真的话,那么现在第一名和第二名的位置真的要互调了,请托,不是法度榜样的行数越少法度榜样的质量就越高,我记得我跟他大年夜谈这方面的事理,着末说服他了!哈哈,然则我,只能说说而已,我不知道还有若干人一样,提及来条理分明,但心里却压根就从未注重过它!

3.我计算做的!

着实那天我想到的远不止上面那么多,然则我不想再说了,由于我猜想看这篇文章的网友大年夜概都有一肚子的感想,一肚子的诉苦,借用这篇文章发泄可不是我想达到的目的,在上面我把自己骂的一文不值也不是妄自菲薄,然则在某些方面我真的做错了,或者说是偏离了精确偏向,现在是纠正偏向和重整旗鼓的时刻了,就象我前面说过的,我信托中国有天下上最好的法度榜样员,我也信托我的水平不会不停维持现状,我现在就料理起牢骚真正的实干起来!

真的很巧,就写到这里的时刻我在网上有时发清楚明了这篇手册,我不知道这预示着什么,然则我想假如我照下面这个基滥觞基本则不停扎实做下去,我必然会实现我的抱负---一名优秀的软件设计师!

(下面这些翰墨不是我的原创,是我有时在网上发明的,我真的很幸运能看到这些,这篇文章也跟着下面的翰墨而停止,我至心的盼望您能从这篇文章中获得启迪,这篇文章迎接大年夜家随意转载,您可以不写作者是谁,然则请您写http://www.vcroad.net/原创,感谢您的支持)

作者:金蝶中心件公司CTO袁红岗wellbet牛牛游戏官方网站

不知不觉做软件已经做了十年,有成功的喜悦,也有掉败的苦楚,但总不敢称自己是高手,由于和我心目中真正的高手们比起来,还差的太远。天下上并没有成为高手的捷径,但一些基滥觞基本则是可以遵照的。

1. 踏实的根基。数据布局、离散数学、编译道理,这些是所有谋略机科学的根基,假如不掌握他们,很难写出高水平的法度榜样。据我的察看,学谋略机专业的人比学其他专业的人更能写出高质量的软件。法度榜样各人都邑写,但当你发明写到必然程度很难再前进的时刻,就应该想想是不是要回偏激来学学这些最基础的理论。不要一开始就去学OOP,纵然你再精晓OOP,碰到一些基础算法的时刻可能也会束手无策。

2. 富厚的想象力。不要拘泥于固定的思维要领,碰到问题的时刻要多想几种办理问题的规划,试试别人从没想过的措施。富厚的想象力是建立在富厚的常识的根基上,除谋略机以外,多阅读其他的学科,比如天文、物理、数学等等。别的,多看科幻片子也是一个很好的道路。

3. 最简单的是最好的。这大概是所有科学都遵照的一条准则,如斯繁杂的质能交换道理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的措施更轻易被人理解,更轻易实现,也更轻易掩护。碰到问题时要优先斟酌最简单的规划,只有简单规划不能满意要求时再斟酌繁杂的规划。

4. 不钻牛角尖。当你碰到障碍的时刻,不妨暂时阔别电脑,看看窗外的风景,听听轻音乐,和同伙聊谈天。当我碰到难题的时刻会去玩游戏,而且是那种极暴力的斗殴类游戏,当认真游戏的那部分大年夜脑细胞极端亢奋的时刻,认真编程的那部分大年夜脑细胞就获得了充分的苏息。当从新开始事情的时刻,我会发明那些难题现在竟然可以水到渠成。

5. 对谜底的渴求。人类自然科学的成长史便是一个渴求获得谜底的历程,纵然只能知道谜底的一小部分也值得我们去付出。只要你坚决信念,必然要找到问题的谜底,你才会付出精力去探索,纵然着末没有获得谜底,在历程中你也会学到很多器械。

6. 多与别人交流。三人行必有我师,大概在一次和别人不经意的发言中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的见地,会给你很大年夜的启迪。

7. 优越的编程风格。留意养成优越的习气,代码的缩进编排,变量的命名规则要始终维持同等。大年夜家都知道若何扫除代码中差错,却每每漠视了对注释的排错。注释是法度榜样的一个紧张组成部分,它可以使你的代码更轻易理解,而假如代码已经清楚地表达了你的思惟,就不必再加注释了,假如注释和代码不同等,那就加倍糟糕。

8. 韧性和毅力。这大概是"高手"和一样平常法度榜样员最大年夜的差别。A good programming is 99 weat and 1?offee。高手们并不是天才,他们是在无数个日昼夜夜中检验出来的。成功能给我们带来无比的喜悦,但历程却是无比的逝世板乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再反省三遍,假如能够不间断地完成这一事情,你就可以满意这一条。

看到这篇文章,我才发明自己谋略机水平之低,低的无法想象。自以为学了一点器械,就志得意满,自得失态了。

我也常常自满的对别人说,我是谋略机喜欢者。然则本日,我发明,我的水温和真正的法度榜样员比起来,的确是天地之别。我也学过QB,期末考试成就也颇不错;也自学了C说话,二级过了,成就也对照知足。现在也看看数据结果的书,想报三级数据库。书上有先容软件开拓的章节,什么法度榜样的光阴效率、空间效率、软件生计周期……观点,我也没有很在意,只是将它看作是一项考试内容来看,而在这之前,我只是珍视一个法度榜样的代码是非,并没有多斟酌它的运行效率问题。

看来我还有很多要进修的,不只是编程的措施,还有编程的思惟。如何让一个法度榜样在代码简洁的条件下,达到运行效率最高,wellbet牛牛游戏官方网站是我要深入思虑的问题。

大概现在仍有许多人在想,CPU速率的前进,可以完全粉饰效率的低下。然则有没有想过,恰是这种动机,实现在的法度榜样体积越来越大年夜,而速率并没有太多的前进。若干年前,谋略机前辈们在640k内存的限定下,充分发掘他们天才的聪明,作出了在当时被觉得是很优秀的软件。现在,在Pentium Ⅳ和512MB内存的前提下,却仍旧可以看到必要一盏茶的光阴才可以运行的软件。

不要觉得CPU运算速率快就把所有的问题都推给它去做,法度榜样员应该将代码优化再优化,我们自己能做的决不要让CPU做,由于CPU是为用户办事的,不是为我们

文中又提到:

那么我们海内有若干人进修谋略机呢?拿我们黉舍来说,谋略机97级4个班,98级5个班,99级10个班,2000级17个班,人多了,师长教师怎么办?我们黉舍的做法是让钻研生上课,然后呢?补考一抓一大年夜把,大年夜把大年夜把的补考费落入了黉舍的口袋,还说现在的门生本质低!真是可笑,我都不知道黉舍这么做是为了什么,为海内培养大年夜量的法度榜样员吗?门生们能真正学到谋略机常识吗?好了,我敢讲,在我们黉舍进修编程门生和优秀法度榜样员(留意我指的是优秀,只会编几个糟烂法度榜样的人算不上)的比例应该是100:0.1,在这种比例下虽然我们中国进修编程的人铺天盖地,然则想想有若干小我能真正wellbet牛牛游戏官方网站为中国软件业成长作出供献,有若干人能真正写出优秀的法度榜样名扬外洋!

切实着实,看看油院有若干谋略机专业的门生?计科院有若干门生?电信也算上有若干?计科是要考专业二级的,相称于什么水平我不知道,大概是国家四级以上吧。电信开的是C说话课是只要求考等考二级的,然则学电路专业的门生也应该有很高的谋略机水平。

其他专业进修的一样平常是QB,可以说是只要掌握编程思惟就可以了。还有的文科是学数据库的,Foxbase或者是VF,也不要求他们成为编程高手,只要他们在今后的事情中会应用此类软件就可以了。

可是据我所知,电信的2001级第一学年第二学期期末考试经由过程率很低,某专业80多人只有不到40人过了。等考二级报名率低的吓人,经由过程的人更是廖廖无几。好象油院还没有用钻研生来代课吧?那么就只有门生自己的问题了。

不是我想说别人如何如何,也不是我吹我自己如何如何。我只是想说,作为一个谋略机喜欢者,想要成为一个真正的法度榜样员或者是其他方面的专家,那么他要进修的不仅仅是他的专业常识,他还要进修并真正明白自己在做什么,如何才可以做到最好。

我想讲这么一个真实的故事:

我的同砚对我说:“我到现在还不知道编法度榜样有什么用?可以办理什么实际问题吗?给我举个例子,要不我其实是没有什么进修兴趣。”我奉告他说:“最简单的例子,我可以做一个法度榜wellbet牛牛游戏官方网站样很方便的解出二次方程的根。”这着实真的是我能想到的可以联系实际的最简单的题目了。他说:“可是只要用高数师长教师让我们买的那套m……(名字我记不得了)软件就可以了,只要输入各项系数;而且还可以谋略很多其他的器械。”我说:“可是这样一套法度榜样也要有人做出来你才可以买来用啊,这便是法度榜样员要做的了,大年夜众必要什么样的软件,我们就给他们做出来用。一个只会用利用软件办理问题的人是不能想象一个法度榜样员所付出的劳动的,他办理问题时的快乐也远远比不上法度榜样员做出这个软件时的愉快。”当我说这些话的时刻,我自己也忽然意识到法度榜样员编法度榜样时的逝世板和完成一件作品时的欣慰。我接着说:“学好编程还可以作游戏呀,作一个属于自己的游戏,看着那么多人都在玩你的游戏,是什么样的心情?你不是爱好《传奇》吗?大概你可以做一个逾越传奇的收集游戏,全天下都玩你的游戏,够爽了吧?”他竟然说:“现在收集游戏那么多,我玩别人的游戏都玩不过来,根本不用我自己做游戏玩!”我只好说:“我们不是同一类型的人。你是享乐主义、拿来主义,我是为你们这种人办事的人!”我们同时笑了。我知道不能盼望他什么。每小我都可以选择自己的路,我不能将我自己的设法主见强加于他,所谓“己所不欲,勿施于人”。假如每小我都要自己编法度榜样办理问题,那么社会的成长必然要比现在慢上许多。同时也违抗了发现谋略机的初衷。

标 题: 进修编程的措施 不要被VC、BCB、BC、MC、TC等词汇所迷惑??他们都是集成开拓情况,而我们要学的是一门说话;不要放过任何一个看上去很简单的小编程问题??他们每每并不那么简单,或者可以引伸出很多常识点;会用Visual C++,并不阐明你会C++;学class并不难,template、STL、generic programming也不过如斯??难的是经久坚持实践和竭尽全力的博览群书;假如不是天才的话,想学编程就不要想玩游戏??你以为你做到了,着实你的C++水平并没有和你通关的能力一路变高??着实可以时候记着:学C++是为了编游戏的;看Visual C++的书,是学不了C++说话的;把时髦的技巧挂在嘴边,还不如把逾期的技巧记在心里;看得懂的书,请仔细看;看不懂的书,请硬着头皮看;别指望看第一遍书就能记着和掌握什么??请看第二遍、第三遍;不要停顿在集成开拓情况的摇篮上,要学会节制集成开拓情况,还要学会用敕令行要领处置惩罚法度榜样;和别人一路评论争论故意义的C++常识点,而不是争吵XX行不可或者YY与ZZ哪个好;请看《法度榜样设计实践》,并严格的按照其要求去做;不要由于C和C++中有一些语法和关键字看上去相同,就觉得它们的意义和感化完全一样;进修编程的法门是:编程,编程,再编程;记着:面向工具技巧不光是C++专有的;请把书上的轨典范子亲手输入到电脑上实践,纵然配套光盘中有源代码;把在书中看到的故意义的例子扩充;请注重C++中的非常处置惩罚技巧,并将其切实的运用到自己的法度榜样中;常常回首自己曩昔写过的法度榜样,并考试测验重写,把自己学到的新常识运用进去;不要遗漏落书中任何一个演习题??请整个做完并记录下解题思路; C++说话和C++的集成开拓情况要同时进修和掌握;就让C++说话的各类平台和开拓情况去猛烈的竞争吧,我们要以进修C++说话本身为主当你写C++法度榜样写到一半却发明自己用的措施很卑劣时,请不要顿时停手;请尽快将余下的部分粗略的完成以包管这个设计的完备性,然后阐发自己的差错并从新设计和编写别心急,设计C++的class确凿不轻易;自己法度榜样中的class和自己的class设计水平是在赓续的编程实践中完善和成长的;每学到一个C++难点的时刻,考试测验着对别人解说这个常识点并让他理解??你能讲清楚才阐明你真的理解了;请赓续的对自己写的法度榜样提出更高的要求,哪怕你的法度榜样版本号会变成Version 100. XX;保存好你写过的所有的法度榜样??那是你最好的积累之一;多看design patterns,将他用到法度榜样中去!留意测试用例及测试措施!多看经典牛人的书!浮躁的人轻易说:XX说话不可了,应该学YY;??是你自己不可了吧!?浮躁的人轻易问:我到底该学什么;??别问,学就对了;浮躁的人轻易问:XX有钱途吗;??建议你去抢银行;浮躁的人轻易说:我要中文版!我英文不可!??不可?学呀!浮躁的人轻易问:XX和YY哪个好;??奉告你吧,都好??只要你学就行;浮躁的人分两种:a)只不雅望而不学的人;b)只学而不坚持的人;请不要做浮躁的人;

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: