`
songsong
  • 浏览: 11558 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

程序 && 数学 && 星际 && 传奇

阅读更多
经过三年不停得编程(都感觉自己快成机器了),回想很多编程的习惯,应该也算是工作中习惯,很多来自数学、星际、传奇

1、写程序最重要的一点,认真负责
数学,是一门严谨的学科,如稍有偏差,结果都是错的
编程也同样,对每行代码都应该认真对待,很多新手都喜欢急攻,因为疏忽,就在那里debug了一天
对于新手来说,大部份错误是在于不够认真仔细
写程序,还要负责,写得每一行代码能够清晰表达功能,千万不可养成偷懒得习惯,只要实现眼前的功能,而不去考虑程序的健壮性、完备性、重用性、易读等等,这样偷懒是没法提高水平的。
但是从另一方面来,做为一名优秀的程序员,应该学会如何偷懒(某人又要BS我了),让程序更佳自动化,很多工作可以交给程序来完成,如自动化构建,自动化部署等,还有让代码重用,代码经常被重用,那开发的效率是不用说的,把自己开发过的代码整理成代码库,那开发就像搭积木一样简单。
解数学题也是一样,想拿高分,那就得负责,理清楚每一步的思路,可不要偷懒哦
对生活的态度也是这样,我觉得该认真地方还是要认真,不过有些琐碎小事没必要了,那样活得也太累了,呵呵

2、养成好的习惯,让编程更轻松、更自然
写程序有很多习惯,如空闲的资源不用时要释放,依赖接口不依赖实现,代码要按java规范写、数据要先先进行有效验证。
代码一定要有规范,代码注意缩进拉、变量要预先定义,变量方法命名要有含义,如果代码写得很乱,那调试程序是件多么痛苦的事情,而且出错的机率也更多了,这一点任何一名程序员对于来说是很容易做到的事情,但是往往在实际开发当中,依然有不少朋友,还是抱着随便的态度,认为做到这些规范很浪费时间,其实适而其返,光是花在排错都远远不止这点时间
编写单元测试也极为重要,自己的开发环境独立出来,减少了沟通的成本,运用好单元测试,让程序自动化,不依赖于手动测试方式,还可以让多个开发任务同时进行。开发环境越复杂,开发难度也就越大。
同样一个疑问:写测试很费时?
举个工作中的例子,开发一个Java Socket Client程序要和另一端C++写的Server交换数据,如果自己不先搭个Server环境,如何跑自己的Client,那只能两边一起调,出错了,谁也不知到是哪边的错,花了不少时间沟通,如果自己用Java写一个Server来模拟,那样调试Client不是更有效率吗。
另一个例子,应用要跑在第三方浏览器中,但是第三方浏览器可能会存在一些bug,那样不能单纯依靠第三方浏览器,应先用一些测试去保证每个版本的浏览器没问题,这些事情都不能省,到时遇到问题了,找半天才知到是第三方的错,那就冤了
把复杂的问题拆分成若干个简单问题,尽可能减少对环境的依赖,有一个良好的解题风格等等,这些都源于以前学数学。
如果你的数学题写得很乱,那你的程序也好不到哪去。呵呵。数学里思考方式已在脑中根生蒂固了,所以做程序的一定要学好数学呀

3、思路很重要。
记得高中数学老师说过,这样一句话:做数学题先要准确,然后再求快,最后要做到解题思路最好
一道数学题通常有10种以上的解法,一个好的思路胜过几万行代码。
哪一种是最有效的,最好的呢,靠直觉,然后会写一些简单测试验证一下,确定后再开始动手,不要因为一个错误思路浪费了更多的时间。
面向对象编程,已经有很多书介绍了它的重要性了,还要学会发散思维。

4、合理安排工作计划,先做什么,再做什么,最后做什么,统筹方法
先易后难。以前读书的时候做卷子做多了,先挑容易的做,难的题目放到最后。
在写程序时,遇到没有思路的时候可以先换换做其它。
星际里经常提到的多线操作,在控制前方战场时,又偷袭敌方分矿,又能兼顾后方发展。考验你的思维是否够快
多线工作,让自己的多个任务时间进行。我一般来说喜欢让两个任务同时进行,一件快做完的任务和一件刚开始的任务放在一起,快做完成的任务,通常是做些集成测试、完善功能、修改Bug,刚开始的任务是做一些设计,很容易搭配。和打星际一样,精神一定要集中,否则容易出错。

5、不断改进自己的开发方式,让开发更有效率
在网游经常提到FM,也就是要反复杀同一怪,让自己的练级效率越来越高。
玩传奇做得最多的一件事情就是烧猪。开始只会站角引怪烧猪,后来发现法师放火墙的位置和道士引怪的技巧都影响着练级的效率,甚至还观察出每天哪些时段猪洞刷新比较慢的,避开这些时段。就这样不断改进,练级的效率也就越来越高。
每次开发完成后,都要想着不能再好了吗?总是发现有不少地方可以改进,开发效率也就越高。
开发过程中要注意不断重构,虽然项目一开始架构就定下来了,但是随着代码量不断增加,如果不及时重构,很可能代码越写越乱,相到了项目中后期,排错越来越困难,修改功能越来越困难,增加新功能越来越困难......
这些都是因为前期设计未能考虑到的,可以通过重构,来保证程序的灵活性。
站在终端使用者或调用者角度考虑问题,有很多细节功能是不可能写在需求分析中的,这时我们开发人员要更多考虑使用者是否方便。功能不断被优化,越做越好。

6、团队配合
以前玩传奇冲过两次新区,前一次缺乏配合,矛盾也越来越多,最后大家不欢而散,后一次我们目标达成一至,发挥各自所长,虽然人少了些,但实力强多了,让我感觉到团队力量是巨大的
现在必竟不是单打独斗的年代了,团队配合是必不可少的。团队中,尽可能使用一致的代码风格,程序易读,保持良好的沟通,这些都是XP(极限编程)的经验。

7、追求完美
那些研究理论的数学科学家,哪个不是力求完美的?
写程序追求完美,可能吗?追求完美是需要成本的,企业做开发,都要谈成本,不能一味追求完美程序,但也不能让劣质的代码泛滥。
劣质的代码泛滥,会让用户的体验更差。如果在用户使用细节上做调整时,需要对代码做出很大的改动,那样很可能把这样的改进放弃,结果会造成整个项目是按照需要来做,但是一些给用户使用的便利性很差,因为改起来麻烦呀。
如果是一个灵活的设计,这样增加一些用户便利性的功能是很容易做到的,只需要做小小的调整即可满足,每个细节都能做到位,用户体验也很好。高质量的代码并不是毫无意义的。做项目开发,这个力度一定要把握好。
什么是高质量的代码呢?对于J2EE开发,面向对象程度越高质量越好,其它自己体会吧

这几点不仅仅是在编程上,做其它事情也一样,这些都为将来的成功奠定基础。

http://zoday.spaces.live.com

分享到:
评论

相关推荐

    JAVA版星际程序+源码

    在本资源中,我们主要关注的是一个基于Java编程语言实现的星际程序,它包含了源代码供学习和研究。"JAVA版星际程序+源码"这个标题暗示了这是一个使用Java编程语言开发的游戏或模拟程序,其核心是模拟宇宙空间中的...

    星际争霸鼠标方案

    3. "StarCraft_Mouse.rar":这可能是鼠标的固件或驱动程序,用于安装和配置鼠标,使其能正确识别并发挥出专为星际争霸优化的各项功能。 总的来说,“星际争霸鼠标方案”是一个集硬件设计、软件开发和用户体验于一体...

    js写的web星际游戏程序

    《JS编写的Web星际游戏程序解析》 在现代网页开发中,JavaScript(简称JS)扮演着至关重要的角色,它使得网页交互性与日俱增。本篇将深度探讨一款使用JS编写的Web星际争霸游戏,这无疑是对JS能力的一次极致展现。这...

    星际主题鼠标指针-Startcraft

    而 "百变鼠标.exe" 很可能是安装或管理鼠标指针主题的程序,用户可以通过运行这个程序来安装、启用或更换星际争霸主题的鼠标指针。 在使用这类鼠标指针主题时,用户需要注意以下几点: 1. 兼容性:确保你的操作系统...

    星际指针 星际指针

    星际指针 星际指针

    IOS策略巨作《星际传奇》深度评测.docx

    《星际传奇》是一款专为IOS平台打造的策略类游戏,由北京海游科技运营,目前处于公测阶段。游戏融合了即时操作的战斗模式和塔防元素,为玩家带来星际战争的紧张刺激体验。游戏的核心玩法围绕着资源的采集、建筑的...

    c++ 星际迷航源码

    星际迷航源码是计算机编程领域的一个特殊项目,它可能涉及到使用C++编程语言来创建一个与《星际迷航》这一科幻主题相关的软件或游戏。C++是一种强大的、面向对象的编程语言,常用于开发高性能的应用程序,如操作系统...

    星际争霸Windows7花屏补丁

    《星际争霸Windows7花屏补丁详解》 在Windows7操作系统中,许多老玩家在尝试运行经典游戏《星际争霸》时可能会遇到一个棘手的问题——画面出现花屏现象。这主要是由于系统兼容性问题以及DirectX版本不匹配导致的。...

    星际译王词库

    星际译王是一款在LINUX操作系统下广泛使用的免费词典软件,以其强大的功能和丰富的词库深受用户喜爱。这款软件不仅支持多语言互译,还具备发音、例句、同义词等多种功能,极大地提升了学习和工作的效率。词库是星际...

    winxp与win7漂亮的星际争霸鼠标主题

    描述中提到的".inf"文件是一种Windows安装信息文件,通常用于指导系统进行驱动程序或软件组件的安装。在这个案例中,用户需要右键点击压缩包内的".inf"文件,选择“安装”选项,让Windows识别并应用这个鼠标主题。...

    windowsu7解决星际争霸IPX问题

    在Windows 7操作系统中,由于默认不再支持IPX(Internetwork Packet Exchange)协议,因此一些依赖于IPX的老游戏,如经典即时战略游戏《星际争霸》,可能会遇到连接问题。为了解决这一问题,我们可以采取以下步骤来...

    星际1.08 WIN7花屏注册表补丁

    注册表是Windows操作系统中的一个重要组成部分,它存储了系统和应用程序的各种设置信息。通过修改注册表,我们可以间接影响游戏的运行环境,从而解决兼容性问题。 该压缩包文件"BroodWar_256color_patch_for_Win7...

    蜗牛星际i211网卡驱动_64 win7 win10 win sever

    蜗牛星际i211网卡驱动是一款专为蜗牛星际设备设计的网络适配器驱动程序,适用于64位操作系统。此驱动程序的核心在于它能够优化和增强i211型号网卡在Windows操作系统中的性能,确保设备的稳定性和高速网络连接。以下...

    很漂亮的星际鼠标 绿色

    Icon(图标)通常用于操作系统、软件、应用程序等,用户可以通过更换这些图标来改变界面的视觉效果,展示个人品味或兴趣。 考虑到压缩包子文件的文件名称列表为“百变鼠标”,我们可以推测这可能是一个包含多种样式...

    星际SB520,非常好用的哈

    星际SB520是一款在IT领域中被提及的软件,可能是某个游戏或系统优化工具的名称,因其被形容为“非常好用”而受到用户的推崇。然而,提供的信息并不足以详细阐述这款软件的所有功能和特点。从描述中可以推测,这款...

    星际争霸II版本内存修改器VB源代码

    《星际争霸II版本内存修改器VB源代码》 在编程领域,内存修改器是一种用于游戏修改的工具,它能够直接操作程序的内存空间,改变游戏中的变量,从而达到修改游戏状态的目的。本项目是一个用Visual Basic(VB)编写的...

    (stardict)星际译王词库

    星际译王(Stardict)是一款著名的开源翻译软件,它以其高效、易用和跨平台的特性深受全球用户的喜爱。这款软件支持Linux、Windows以及Mac OS等操作系统,为用户提供便捷的词汇查询服务,尤其在Linux环境下,星际译...

    星际争霸易语言源码

    游戏,星际争霸,学习游戏制做,开发程序。值得学习

    Swing星际争霸-java编写

    4. **多线程**:由于游戏通常需要实时响应用户操作和进行复杂的计算,因此多线程技术在Swing星际争霸中可能被用来分离用户界面的更新和游戏逻辑的执行,确保程序的流畅性。 5. **图形绘制**:Swing允许使用Graphics...

Global site tag (gtag.js) - Google Analytics