西电论坛

 找回密码
 注册(开放注册)
搜索
查看: 2448|回复: 13
打印 上一主题 下一主题

[软件] 送给我的学弟学妹们

[复制链接]
跳转到指定楼层
1#
发表于 2007-6-28 07:43:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是去年7月份毕业转眼工作一年多,毕业也快一年了。我上学的时候专业是机械,从事的工作是软件开发,以及小型机系统研发。由于工作能力突出,再过2到3个月,我就要被直接提升为项目经理了,很高兴,以及兴奋。
    在这里我把我的个人经验透露给大家
    至于我在大学里是怎么学习软件的我在这里发过帖子,就不多说了,工作后。我致力于技术上的学习和砖研,还有就是我的三外(大学外语学的是英语),我用半个月的时间过完日语国际3级,半年的时间过完日语1级,当然这些只是表面,最重要的是我能用他们,顺便提一下我的工作是对日开发。从我到公司到现在,说句大话,我们公司的难活重活,基本上是我挑。上学的时候我有160斤,现在差不多140不到了。呵呵。
    项目经理给我派活的时候,我从来没有说过,这个东西我不会,这个东西我做不了,要不给别人做什么的,我觉得这些多是机会,我把握住这些机会,我就能成,不能那就费费。别人一年长一次工资,我一年比他们多长一次,而且年终奖金我也比别人多。我做的多!!!
    在此我要感谢我的大学老师敖晓春给我的机会,是他让我进实验室给他做课题,也正因此我才知道怎么去学,怎么去做。虽然当时的日子很苦。但是我想大家多知道苦尽甘来的道理。现在工作时不管遇到什么问题我多能如鱼得水的解决他,顶多就是个时间问题。至于我现在拿多少钱。呵呵 我不想说,我想只要大家你们能做到,公司就能给到,要是整天不干活,或者是挑轻避重,时间长了,人家不会认为你的人品有问题,而是会认为你的能力有问题,也就不会重用你了。我想这比别人认为你的人品有问题还严重。还有在单位加班的问题,刚参加工作的时候我很在意加班费,工作后,我每天加班到11点,根本就没问过老总是否给加班费,是我自愿的,短暂的时间我给他带来很多的利润,年底奖金就算是扣除我平时的加班费,也比别人高。别人不服也不行,我做到了。有凭有据的,我第一次工资只张300第二次就长了1500多,下次会更高,相信我你们也能行的。 好啦不多说了,嘿嘿反正我现在就是个高兴,有机会请你们吃饭啦啦
2#
发表于 2007-6-28 07:50:56 | 只看该作者
羡慕.我毕业后也想从事软件开发,现在看了别人的代码后做一个东西都做不成功,主要是细节问题,怎么办呀.请教下
3#
 楼主| 发表于 2007-6-28 12:46:04 | 只看该作者
照着书把代码对一边,这样你就知道错在那里,理解为什么你这么写是错的,这样你就知道你编码时会发现那些错误,以后出错时你就会知道代码在什么地方出错。
   学会用编译工具,这和语言一样重要,只会语言不会工具白瞎。
   程序编译出错时一般提示错误地点,你去指定地点察看,到底是什么问题。
   再有就是不要刻意的去记某件东西,应当理解他。再有就是语言这东西多时一样的。没有区别,一般会一种后其他的东西多能会。
   最后就是在学校的时候最好专攻一门语言,等工作后在学其他的。注重自己能力的培养。买书的时候最好是带光盘的。不然别买,书上的代码即使是对的,但是不全,或者是你更本就不知道从什么地方下手,即使是代码敲出来,却不知道怎么让他跑起来。甚至让他编译通过多觉得很困难。
    记得我开始学软件的时候,我的第一个简单的win32程序就调了半个月。但是后来的东西就快了,知道了原理还有什么难得呢?!
4#
发表于 2007-6-28 15:35:06 | 只看该作者
我做的也不是太基本的东西,不是书上的,一般都是在网上下载一些源码来研究.像现在看一个多标签浏览器代码,知道了多标签的原理就是自己实现一个继承自CHtmlVIew的类,然后在另一个类中建个List实现对View的添加删除等等再实现一个在OnCreate中动态创建View的类.,但是具体实现的方法和那么多函数不记一下是不行的.而且其中的一些细节不仔细看代码的话写不出来..只有多在键盘上敲了,我想熟能生巧吧,,不知道关于这方面你是怎么走过来的
5#
 楼主| 发表于 2007-7-3 13:01:14 | 只看该作者
个人经验认为编程最好的路子是由游戏开发入手,刚开始作一些简单的win32游戏程序,这些更能锻炼个人能力,以及对程序框架设计的理解。如果仅仅是简单的看代码写代码,那就没有什么创造性,给你一个新的东西你还是不会。不知道怎么去做,最直接的就是不知道该如何下手。
    看别人的代码的时候我们一般是看某个功能他是怎么实现的,我们是基于这个目的去看别人的代码,从中学习技术和经验,这样等我们开发别的东西的时候就知道怎么去做,该如何做。如果能够基于别人的基础上给他升华,那么就更好。简单的把别人的东西搬过来,没什么创造力,但是这也是国内的行情。
    还有就是不要总是看别人的代码,应当自己动手去做东西,比方你开发一个俄罗斯小游戏,你得知道怎么去架构,这个是最简单的东西,如果连这个你多不知道,我感觉你就不适合作程序员,当然刚开始不能勉强,什么多得慢慢来,从我开始学习win32到我开发出第一个二维小游戏的时间差不过2个月。从我开发第一个小游戏到我完成我的第一个项目的时间差不到半个月。智商很重要。最重要的就是能举一反三。
6#
发表于 2007-7-3 14:24:41 | 只看该作者
有道理,,做俄罗斯方块我也想过,,大概是用二维数组吧.没仔细想.我也做过东西的.以前做过一个天气预报的WIN32的小程序..为了好看把界面画了一下结果老容易崩溃.可能是内存泄漏.
7#
 楼主| 发表于 2007-7-4 12:52:16 | 只看该作者
呵呵 内存泄漏和非法操作内存不是一回事
   比方说
   int sum = 0;
   for(int i = 0;i<100;i++)
     {
           int temp = 0;
           temp = i * i;
           sum += temp;
     }
     上面这段程序就存在内存泄漏的可能,如果该函数在系统中的调用频率很高的情况下,内存泄漏是肯定的,尤其是当临时变量耗费空间很大时。
   int aa[10];
     for(int i = 0; i<= 10;i++)
     {
        a = 0;
     }
     上面这段程序没有内存泄漏,但是有非法内存操作存在,一般这种情况下,系统会崩溃。
    对于经验者来说俄罗斯方块没什么,但是对于初学者来说这个还是很有研究的。道理不是想象中的那么简单。能做出来才是硬道理,如果仅仅是讲表面的道理,不能让人折服。仅仅画面的绘制就涉及到很多问题。如何解决闪屏,如何定义数据结构。如何控制随即方块的出现,如何解决方块碰撞的算法,以及方块变形的算法等等多是有研究的,为僚提高游戏的性能,是用子线程还是用时间事件来控制动画这些也是问题,会不会只有自己去做才知道,做了才知道其中的道理,才能理解其中的真谛。你说呢??
8#
发表于 2007-7-4 16:36:41 | 只看该作者
嗯,我会尝试做一个.第一段程序为什么会泄露呀,对临时变量的反复操作就会引起内存泄露吗
9#
 楼主| 发表于 2007-7-5 12:40:05 | 只看该作者
每循环一次分配 sizeof(int)大小的空间,而且单次循环结束后,系统不能及时回收资源,如果循环次数过大,或者该段程序的调用率非常高,就会造成大批无用内存的存在。系统不能对他进行二次分配,因为还没有对他进行回收操作,程序的正确写法如下:
int temp = 0;
for(int i = 0;i<100;i++)
     {
           temp = 0;
           temp = i * i;
           sum += temp;
     }
10#
发表于 2007-7-8 19:00:28 | 只看该作者
哈我也是机械的。
对软件也喜欢。
不过很少接触win
喜欢linux下的。
学长能不能加qq啊
我的:81978621
11#
发表于 2007-7-8 19:15:33 | 只看该作者
call __alloca
call ___main
movl $0, -4(%ebp)
movl $0, -8(%ebp)
L2:
cmpl $99, -8(%ebp)
jg L3
movl $0, -12(%ebp)
movl -8(%ebp), %eax
imull -8(%ebp), %eax
movl %eax, -12(%ebp)
movl -12(%ebp), %edx
leal -4(%ebp), %eax
addl %edx, (%eax)
leal -8(%ebp), %eax
incl (%eax)
jmp L2
L3:
movl $0, %eax
leave
ret
call ___main
movl $0, -4(%ebp)
movl $0, -12(%ebp)  ;唯有这里区别
movl $0, -8(%ebp)
L2:
cmpl $99, -8(%ebp)
jg L3
movl $0, -12(%ebp)
movl -8(%ebp), %eax
imull -8(%ebp), %eax
movl %eax, -12(%ebp)
movl -12(%ebp), %edx
leal -4(%ebp), %eax
addl %edx, (%eax)
leal -8(%ebp), %eax
incl (%eax)
jmp L2
L3:
movl $0, %eax
leave
ret
学长指的是c++吧。
在c下没有多大区别吧。
我是gcc -S查看的,temp的差别只是在循环前初始了。我用的是c
12#
 楼主| 发表于 2007-7-9 08:12:48 | 只看该作者
呵呵 不好意思,对于linux 我还是刚开始结束,公司的小型机方面的项目有我来做。基于IBM的AIX系统作web-server开发。不过ibm的aix 系统应当归类于unix系统一类
    至于linux嘛行业上怎么用它我不太了解,但是用得最多的还是ibm的aix系统。linux只能派到第四。
    我的QQ是274574484,最后添加一句我很少上网。对于上面的问题,在windows下测试的时候是通不过的,每次循环多得重新分配内存,所以建议大家在循环外部定义循环内不要使用到的变量,除非是静态变量我们可以这么做。
    至于linux下你做的测试,我没试过。等我试下在给你满意的答复,但是根据经验我认为那样是不可以的,再则不要太相信单步调试,在内存释放方面这些测试不太准确,一般我们采取在程序运行过程中打log的方式来测试,
13#
发表于 2007-7-9 11:58:29 | 只看该作者

回复 #12 重新来过 的帖子

我新手。实践为0
好的。
14#
发表于 2007-7-9 12:06:58 | 只看该作者
查了下,的确,以上看到的汇编,对内存位置尚未定义。
学长是对的。
您需要登录后才可以回帖 登录 | 注册(开放注册)

本版积分规则

手机访问本页请
扫描左边二维码
         本网站声明
本网站所有内容为网友上传,若存在版权问题或是相关责任请联系站长!
站长联系QQ:7123767   myubbs.com
         站长微信:7123767
请扫描右边二维码
www.myubbs.com

小黑屋|手机版|Archiver|西电论坛 ( 琼ICP备10001196号-2 )

GMT+8, 2024-4-23 18:39 , Processed in 0.228911 second(s), 15 queries .

Powered by 高考信息网 X3.3

© 2001-2013 大学排名

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