51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

12
返回列表 发新帖
楼主: cleverman
打印 上一主题 下一主题

[原创] 我大学是如何学习coding的

[复制链接]

该用户从未签到

21#
发表于 2007-9-5 15:26:50 | 只看该作者
[首先是要把C语言补回来,把C语言教程看了一遍,把语法理解,练习了几个小程序,找了找感觉。这个阶段是很快的,可能就是几天的时间吧,毕竟以前还是学过C的,然后开始学C++。当初问过老师,学C++需要多长时间。老师的回答是三个月。买了本C++教程,一天看完。心里很不以然老师说的三个月,感觉跟C差不多,就是多个class。后来就买了两本编游戏的书,开始模仿和练习编游戏,这样在当时我们的机房DOS系统下,我是专业里唯一一个能用GUI编程序的人。所有的assignment,我都编两个版本Text mode and UI mode, Text mode送给好朋友,UI mode自己用。这样半年之后,我才突然发觉,原来这才是C++。自己用了半年的时间才真正的学会C++。(C与C++的最大区别在于设计的思维:面向过程和面向对象,C到C++的转变是需要一个过程的)。这个时候再看当时show给我程序的朋友的C++的程序时,才发现他根本没有学会C++,他只是用C++在做C程序而已.]

我对 cleverman兄 的这段时间的经历更感兴趣一些。 可以说正是因为这段时间的练习,才使得cleverman兄真正对编程有了深刻的理解。
基本上我们在编程学习中,都是以单进程的面向过程的程序开始练习的。因为缺乏一个完整的实体模型,所以对面向对象的理解是一个模糊的认识,这个时候如果能够多多练习GUI的编程,那么会加快个人对面向对象模型的认识。
不知道cleverman兄这个阶段使用的是哪一个图像库,我想应该是TC下的 GRAPHICS 图像库吧。
回复 支持 反对

使用道具 举报

该用户从未签到

22#
 楼主| 发表于 2007-9-5 15:57:35 | 只看该作者
没错,是用的TC++。你说的这些我以前还真没想过。GUI程序由于比较直观,而且是非常自然的面向对象的模型,确实应该是一个比较好的学习面向对象的方法。看来我是误打误撞了,当时。呵呵。后来,我用Perl的时候,对面向对象又有了一个更深刻的认识。因为它不是一个面向对象的语言,所以,你编面向对象的程序就需要多做,多想一些东西。后来的C#又引进了不少新的概念,虽然都算是C++扩展出来的,不过还是又多加深了一些理解。以前看过不少开发人员写的代码,从他们的设计来看,感觉他们对面向对象的理解并不是特别的深刻。直到最近看到一个印度人写的代码,跟我的设计思想还真的很接近,面向对象的设计,实现思路非常清晰。这也是第一次看到有人和我对面向对象的理解这么类似。不过我做的大项目也少,对一些概念,比如多继承也没有很多理性的认识,我印象中从来都没有用到过。可能也不是特别有用吧,现在C#,Java都抛弃这个概念了。总之,面向对象的概念还是挺复杂的,很多人做了很多年的开发都不算真正理解了,或者真正好的理解了。
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2007-9-5 19:30:53 | 只看该作者
原帖由 wwwyhx 于 2007-9-5 14:05 发表
我想知道参与的设计大概精确到什么程度,精确到伪第吗的程度吗,还是只确定模块的接口,想整么实现自己随便?


这个过程中,developer只是提些意见,具体得设计试又arch和BA完成得,具体到什么程度,如果试一个大得公司,很正规得,试非常具体得,调用database哪个table得哪个field都会specify得。。。。

如果程序员只是自己随便写,没有任何得document和formal review,只是会增加testing和maintenance得cost...一个好得team这样得情况要避免。。。
回复 支持 反对

使用道具 举报

该用户从未签到

24#
发表于 2007-9-5 19:33:48 | 只看该作者
关于设计,我得看法和你们不一样。说到OO,只是个基本得coding concept,不试什么设计得,设计其实试只这个project得结构,是SOA,还是Facade,MVC等等。。。
不同得结构在不同发面得表现不一样,比如现在流行得SOA在load/stress 方面表现很好。。。

还要注意maintenance方面,毕竟控制开发和maintenance成本是很重要得。。。:)
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2007-9-5 21:31:45 | 只看该作者
有个实习的同学说他7天写了2万行程序,不知道是不是真的 ,呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

26#
发表于 2007-9-5 21:59:21 | 只看该作者
如果开发流程设计的不合理,代码复用率太差,就是写3万行也不稀奇啊。
回复 支持 反对

使用道具 举报

该用户从未签到

27#
 楼主| 发表于 2007-9-6 03:51:22 | 只看该作者
如果没有冗余代码,2万行就太厉害了。
我可能一天只能写1000行,还是做小的项目,大的项目应该更慢。
不过行数跟选用什么语言也是有一定关系的。同样的功能,不同的语言实现,代码大小也是有区别的。
不太清楚开发牛人的速度怎样,不过总觉得比较行数没什么太大意义,编码毕竟是比较低层次的工作。好像刚学编程的时候愿意比较这个,senior的,就没听说他们提这事了。
回复 支持 反对

使用道具 举报

该用户从未签到

28#
 楼主| 发表于 2007-9-6 03:56:18 | 只看该作者
还有就是算法设计是很花时间的,比如你用2,3天来设计一个算法,可能2,3个小时就实现了,也就是2,3百行代码。
你说他2,3天只编了2,3百行代码,有意义吗?
我当时研究一个并行算法,是准备写毕业论文的,也就是2,3百行代码,按照要求是要研究4个学期的。
回复 支持 反对

使用道具 举报

该用户从未签到

29#
发表于 2007-9-6 08:57:50 | 只看该作者
一般来说,一个函数的代码行数一般不会超过1000行。而一个源文件不应该包括太多的函数原型。
如果在一个源文件中或者在一个函数中写了2万行的代码,这个开发人员的能力应该受到质疑。他不是超猛,就是超差。
回复 支持 反对

使用道具 举报

该用户从未签到

30#
 楼主| 发表于 2007-9-6 09:53:47 | 只看该作者
没错。强烈同意。
一个函数如果超过1000行,可以肯定地说,这个函数是可以分解成更小的函数的。
一个源文件如果函数太多也是不合适的。从C语言的角度来讲,可以把函数分类放在不同的源文件,易于维护。
从C++的角度来讲,一个源文件一般是一个class的函数实现。如果函数太多,一般是可以把一个class分为多个class,或者可以把一些功能抽象成父类。
我的经验是,一般来说每个源文件最多1000多行,每个函数一般最多2,3百行。不过我没有写过太大的程序,最多也就是1万多行吧。如果大项目的话,seifer1754所说的函数不超过1000行,应该是个不错的标准。不过一个源文件应该多大呢?几千行应该算正常吧?如果大项目的话。
回复 支持 反对

使用道具 举报

该用户从未签到

31#
发表于 2007-9-7 17:18:16 | 只看该作者
一个source file的大写最大也就是1千多行吧,一个method最多也就是2-3百,如果很大的话就分成很多小的methd,主要是为了reuse...

source file也就是class 主要是按功能分的,不同功能大小不一样,也就是按layer分的.....举个简单例子,如果是interface,就只是些method的集合,如果是具体的可能就长些..如果是parent,最是很多abstract method...

大小不是绝对的,不过一个好的design是不会出现很大的class 的...
回复 支持 反对

使用道具 举报

该用户从未签到

32#
 楼主| 发表于 2007-9-8 04:49:26 | 只看该作者
你说的标准基本上跟我编程的特点相同。
不过如果大项目,尤其是要求安全性,可靠性高的话,是要写大量的代码处理各种异常的情况出现。这样的话,代码行数很容易就上去了。(可能几倍的往上涨)
而且,大的项目确实会有很复杂的对象出现。还有就是由于问题的复杂性和变化性,使得出现了一些大的class,虽然可以把它精简,但是由于项目的后期是不能随便改动代码的,因此就保留下来了。
另外就是OO的思想是已数据为中心的,不是以功能为中心。所以,class的设计也是应该考虑数据在先,功能再后。按功能分的话,就是C面向过程的思想了。
回复 支持 反对

使用道具 举报

该用户从未签到

33#
发表于 2008-1-28 21:52:20 | 只看该作者
突然发现自己在大学时就看过楼主的文章了,可惜自己编程很差,也不太喜欢代码。
可是现在却在软件行业混。。(学通信工程的,)

毕业了,写过一个月的C#,发现挺痛苦的,

最大的问题是发现自己看代码很容易看晕掉。。。按理说理工科的逻辑应该不是问题,可能心里有抵触吧。。。
回复 支持 反对

使用道具 举报

该用户从未签到

34#
发表于 2008-1-28 21:56:38 | 只看该作者
现在在搞黑盒的测试,发现很没劲啊
开发能力太差,写代码又不喜欢。。。。

想搞点和硬件相关的。。。

太穷了,也想出去出差做本行,通信“工程”
回复 支持 反对

使用道具 举报

该用户从未签到

35#
发表于 2008-2-8 18:14:45 | 只看该作者
党中央国务院以及全国人民代表大会一致认为你很牛,你最能体现中华民族的智慧。
你是中国的一个窗口,是向世界展示中华民族智慧的窗口。
你不是一个人,我可以负责任的告诉你,你不用谦虚了,你已经被中华五千年的智慧人物附体了。
回复 支持 反对

使用道具 举报

该用户从未签到

36#
 楼主| 发表于 2008-2-9 10:07:38 | 只看该作者

回复 34# 的帖子

如果不喜欢编程,不如去做做市场,销售这些。
这些比搞技术挣钱多呀。
回复 支持 反对

使用道具 举报

该用户从未签到

37#
发表于 2008-2-14 14:21:14 | 只看该作者
楼主牛。。。
回复 支持 反对

使用道具 举报

该用户从未签到

38#
发表于 2008-3-14 14:23:16 | 只看该作者
大牛。又给我打了一针鸡血。继续努力。
回复 支持 反对

使用道具 举报

该用户从未签到

39#
发表于 2008-3-14 14:30:54 | 只看该作者
一步一个脚印
回复 支持 反对

使用道具 举报

该用户从未签到

40#
发表于 2008-6-18 13:32:09 | 只看该作者
营养贴
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-26 21:29 , Processed in 0.078778 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表