程序员应知:你有几种武器?
首先我们必须有一种最趁手最熟悉的武器,有人的是java,有人是vb,还有人是c#等等,这种武器是用来解决大型项目中的问题的,我们用的最多,对其了解最深,也最喜欢使用。但是,仅仅这一种武器是否够用,是否足以搞定客户或者业务部门层出不穷的各种需求呢?一般来说还是可以的,只不过在特定的情况下,比方说时间上的要求,用户界面友好程度上的要求,或者是某些特定功能上得要求,我们可能会采用其他武器,从而得到更高的效率,更便捷的操作,或者特定的某种功能。
|
作者以自己的经验为例:
拿我自己曾经的经历为例吧。之前曾经在博文中讲述过一个抽奖软件的 开发过程,代码也一起公布了出来。其实我日常工作中用的最多的是JAva,开发环境是EClipse。那次的任务如果用这种武器开发也是可以的,但需要的 时间可能会比较长,而当时业务部门才给了我不到一天的时间,所以最终我选择了VBA这种武器,结果只用了两个多小时就完成了开发和测试,而且业务人员还挺 满意,第二天就真的用它抽出了各个奖项。
再举个例子,我们平日里将开发好的程序发布到测试环境需要不少繁琐的环节,一不小心就会忘记一个,然后就会导致发布人员的不满和抱怨,所以,有个小 工具来提醒自己,并且将整个流程自动化是非常必要的,但是这个工具需要可以和Windows交互,并且能够模拟键盘和鼠标的操作,当然还需要具备编程语言 的特点,另外还有可以很容易地编译成可执行文件独立运行,所以用JAva或是C#都不是非常合适。不过我很幸运,发现了Autoit这个工具,它完全满足 我的需要,所以我的武器装备库里面有多了一件。花费了两个多小时,我给自己编写了非常好用的提醒工具,使用它之后,我近一个月以来都没有在发布环节犯过错误。
|
然而,说起来容易做起来难,我们应该怎么做,又应该注意些什么呢?
选择学习一种武器之前,应该明确地了解它适用在什么样的情况下,做什么样的工作最适合。除此之外,古语有话:尺有所短,寸有所长,在特定的情况下,没有一门语言或者一种工具是完美无缺的,我们还要了解每种武器的长处和短处,这样不仅有利于采用最合适的武器,而且还可以让它们彼此之间相互配合,从而达到更好的结果。当初上大学的时候,曾经有段时间在学校的有线中心做视频编辑,那个时候就是用了多种工具,做图的有Photoshop、Photoimpact,做视频的有Premier、我行我速、做3D效果的有3D Max、Cool 3D,总的来说,有些是属于傻瓜型的,只要动动鼠标就可以生成差不多的效果,但是对于细节的处理不是很好,想要做微调的时候,就需要使用比较传统的、笨重的工具,那样做出来的效果才会有专业水准。所以说,相互配合真的挺重要的。大家在编程的过程中也一定拥有多种工具,是不是也是不停地在利用彼此之间的配合来提高自己的工作效率了呢?
还有一点想要说明的就是,尽管我们应该拥有多种武器来处理多种不同的情况,但是对于经验不太丰富的同学来说,不要太急于追求手中武器的数量,那就有些舍本求末了,有些时候,武器(或者说工具)只是外在的招式,而我们的编程思想才是内功,只有先把内功练成了,然后随便使用哪种工具,都会发挥出巨大的威力,那个时候就是充实你的武器库的时候了。因此第一步应该是先彻底掌握一门语言,或者一种工具,然后再去触类旁通。
|
最后想要问问大家,你有几种武器?
分享到:
相关推荐
作为一名优秀的程序员,你需要具备快速学习新技能的能力,这样才能跟上行业的步伐。同时,你也需要具备一定的适应性,以便在面对不同项目需求时能够灵活应对。 ### 3. **解决问题的能力** - **关键点:** 高效地...
国外程序员推荐:每个程序员都应读的书 ,开发设计人员必备
JAVA程序员必读:基础篇
我整理生成的CHM格式文件 JAVA程序员必读:基础篇.chm 因为最近在搞这个所以整理了一些资料和大家分享 并非本人原创,郑重感谢原作者!
计算机软考程序员备考:程序设计知识点.doc
ACE程序员指南:网络与系统编程的使用设计模式,高并发网络编程
程序员101:如何自学编程[整理].pdf
Ron Zacharski撰写的实用数据挖掘,集体情报和建筑推荐系统指南。
MongoDB程序员认证: MongoDB Certified Developer Study Guide - Study Guide - Exam Preparation - Practise Questions
《程序员数学》是一本专为IT从业者设计的数学学习书籍,旨在通过Python编程语言帮助读者深入理解线性代数和微积分的基础概念及其应用。线性代数是现代计算机科学和工程领域不可或缺的部分,它在图像处理、机器学习、...
UNIX系统V第4版程序员指南:XWIN图形窗口系统Xlib-C语言界面,已添加书签
### 优秀程序员应知的关键素质 #### 一、踏实的工作态度 成为一名优秀的程序员,首先要有踏实的工作态度。这意味着在工作中需要做到低承诺、高实现。具体来说,就是在承诺任务完成的时间和质量时要保守估计,确保...
JAVA程序员必读:基础篇(4)类和继承-JSP教程,Java技巧及代码
JAVA程序员必读:基础篇(2)面向对象编程概念-JSP教程,Java技巧及代码
本项目为《程序员数学:用Python学透线性代数和微积分》设计源码,包含104个文件,涵盖73个Python源文件、17个Jupyter Notebook交互式文档、4个教学图片以及少量其他辅助文件类型。项目旨在通过Python编程语言,深入...
ACE程序员指南 网络与系统编程的实用设计模式 part2
本书详细解释了如何通过程序员度量来帮助团队更加准确地理解在项目过程中的事件,让团队中的每位程序员可以关注于特定的改善。
13. 程序员要有韧性和灵性:雷军认为,程序员需要有韧性和灵性,有机会接触并学习电脑的编程技术,就会成为一个不错的程序员。 14. 编程技术:雷军认为,编程技术非常重要,需要不断学习和提高。 15. 程序员经验...
因学生在学校里开发的软件是学习和学术性的软件,本书也能帮助毕业生们能尽快地从学习型的软件开发转换为商业性的软件开发,尽早形成实际生产力,这对毕业生和企业都是有好处的。 本书并不想成为面试宝典之类的书;...