怎么成为一个优秀的Java如何当一名程序员员 而不是一个

Java有许多应遵循的守则或最佳实践方式本文概述了每个开发者最应该遵循的10条守则或戒律,如果不遵循它们将会导致灾难性后果。

指出这个if条件是什么有多困难再设想一下,写这段代码的人并没遵循第1条 - 为代码添加注释

把if条件分解成2个if语句不是更容易理解吗?现在让我们看一下修改过的代码:

这樣可读性不是更好吗的确,我们写了重复语句;的确我们多写了一个if和2个大括号;但是代码确实更加易读、更加容易理解了!

4. 不要“硬编码”(No hard coding please). – 由于时间紧迫,开发者总是会忘记或故意忽略这一条然而另一种可能是,遵循这条戒律我们就不会陷入“时间紧迫”嘚困境。定义一个static final 变量增加一行代码,又能花多长时间呢譬如:

现在,每次需要比较字符串“ABC”与某个变量的时候我们只要引用 A.S_CONSTANT_ABC 即鈳,而不必记住它本身是什么对这个常量的修改也非常方便,改一个地方即可而不必在全部代码中查找。

不夸张地讲已经有几千个框架存在了,大多数还是开源的很多框架都是极完美的解决方案,并已被用到成千的系统中我们只要关注最新的流行的框架,至少表媔上要熟悉一下一个最成功的、也是被广泛使用的例子是Struts框架,这个开源的web框架是建立web系统的极佳选择不要试图构造你自己的Struts版本,會累死的但你必须记住第2条(译注:原文是“第3条”,显然不对)戒律 —— 不要把简单事情复杂化如果你要开发的系统只有3个界面,僦不要用Struts. 对于这样一个系统没有足够的需要被“控制”的东西(译注:Struts将界面做MVC划分,C即controller所以作者说there isn’t much “controlling” required)。

做测试为什么测完後还要去改代码?这很可能导致误删一行我们需要的代码不要低估System.out.println 的危害,看下面代码:

为了避免CPU浪费最好的办法是引入一个包装的方法,如下:

字符串(String)连接是另一种CPU浪费方式看下面的例子:

7. 注意图形用户界面(Pay attention to the GUI). – 无论听上去多荒谬,但有一点我注意过多次了:图形用户界面(GUI)对于商业用户而言与如何当一名程序员功能及执行效率一样重要GUI对于应用如何当一名程序员的成功至关重要。 IT管理者(譯注:这里应该是指如何当一名程序员开发方的IT management)常常忽略GUI的重要性很多公司为了省钱而不雇佣人员,而这些设计人员有足够的经验来設计“用户友好”的应用软件 Java如何当一名程序员员不得不依赖他们有限的HMTL知识。我见过非常多对“计算机友好”而非对“用户友好”的應用如何当一名程序员同时精通软件开发和用户界面开发的开发者非常少见。 如果你是一位不幸被指派做界面开发的Java如何当一名程序员員你要遵循下面3条规则:

  1. 不要重新发明轮子。去看那些类似应用系统的界面
  2. 首先建立一个原型。这一步非常关键客户喜欢提前看到怹们要用的东西。同样你可以得到他们的反馈而不是你辛辛苦苦做出来一个客户不喜欢的东西。
  3. 试戴用户的帽子换句话说,站在用户嘚角度查看需求譬如,一个统计的界面可以分页也可以不分页。作为开发者很可能会忽略分页,因为这会减少很多麻烦;而站在客戶角度这就不是一个好的方案,因为数据可能多达几百行

8. 提前准备需求文档(Always Prepare Document Requirements). – 每项业务需求都记入文档。这在童话故事中可能实現而现实中很难做到。无论时间多么紧迫无论截止日期如何迫近,你必须确保业务需求被记录下来(译注:这条明显悖于敏捷开发嘚观念,大家要独立思考甄别是非)

9. 单元测试,单元测试单元测试 (Unit-test. Unit-test. Unit-test). – 我不准备讨论如何单元测试的细节,我只是想说这必须要做这是编程中最基本的规则了,尤其不能忽略如果你同事能为你的代码创建一个测试计划,那就再好不过了;如果不能那就要自己做。做单元测试计划时遵循下面原则:

  1. 对任何“有趣的”公共方法都要做单元测试(“有趣的”是指除了像最常见的getter/setter这类方法外的方法,泹包含有自己内容的getter/setter 方法)

10. 记住:质量而非数量(Remember – quality, not quantity). - 不要待的太晚(除非有必要)。我知道有时因为产品问题截止期限或其他突发倳件,不能按时下班但经理不会因为你为一般问题待的太晚而感激或奖励你;他们会为有质量的工作而感激你。如果你遵循上面的列的原则你就会写更健壮的、少bug的如何当一名程序员。这才是你最应该做的

本文中总结了Java如何当一名程序员员最应注意的10项守则。仅仅知噵是不够的还要遵循它们。希望这些守则能让我们做更加专业的如何当一名程序员员

不是每个人都能成为高手,但是不努力就算有洅高的天分,也白痴一个!

目前JAVA是开发人员的热宠,很多論坛都有不少热爱JAVA的开发人员也有不少想成为JAVA如何当一名程序员员,但苦于不知道该如何学习也不清楚该学些什么知识才能成为一个JAVA洳何当一名程序员员。本人在这里抛砖引玉和大家讨论成为一个JAVA初级如何当一名程序员员应该具有的知识,与大家共享

个人认为想成為一个合格的JAVA初级如何当一名程序员员应该具备如下知识:

JAVA是一个面向对象的开发语言,因此熟悉面向对象对学习JAVA很有必要您要了解:什么是对象,什么是类;什么是封装什么是多态,什么是继承;什么是抽象类什么是接口。了解了概念后您还需要这些概念是如何体现嘚,如类和对象有什么区别?类是如何封装的

如果您已经有了开发经验,恭喜您您学习JAVA语法来将比较容易。如果您有C++等面向对象语言的開发经验您只需简单的翻看一下介绍JAVA的相关书籍就可以了。如果您是新手没有关系,您下些工夫好好研究一本JAVA初级教程之类的书就鈳以了。

学习了JAVA语法加上面向对象的知识,只有您用心您就可以写出来比较好的JAVA代码了。如果您再抽出时间熟悉一下JAVA编程规范您代碼的水平就应该不俗了。

在我国的绝大多数公司做JAVA如何当一名程序员员都少不了和JSP以及HTML打交道。因此想成为JAVA如何当一名程序员员就不鈳避免的要熟悉JSP和HTML,您最好能知道JSP的几个内置对象如Session,RequestReponse,以及常用的JSP标签如include,userBean等尽管一些工具会帮您生成HTML代码,但您还是要熟悉仳如title等如果您再熟悉一下JS和CSS就更好了,那会使您制作的页面更友好

熟悉了以上三种,可以肯定的说您已经可以制作出来JSP页面了您也鈳以在您的页面里使用自己开发的JAVA类(JAVABEAN)了,但您的页面总要跑起来才能看到您要的效果这就要求您必须熟悉一种WebServer,比如:TOMCATRESIN等。您要熟悉洳何发布您的应用如何利用WebServer的数据库资源等。

大家都知道开发工具可以帮助您更好更快地开发,因此熟悉几种开发工具很有必要目湔JAVA的开发工具比较流行的有JBuilder,IDEAEclipse,HTML的开发工具有Dreamweaver等

熟悉一种框架其实是成为JAVA如何当一名程序员员的一种可选知识,但目前开发B/S结构的应鼡的开发小组都差不多会采用一种框架来构建自己的应用系统。框架都会有许多可重用的代码良好的层次关系和业务控制逻辑,基于框架的开发使你可以省出很多的开发成本目前比较流行的框架有Struts和WAF等。

弘成带你学入门高薪互联网行业,为你解析行业发展趋势、就業前景大厂面试解析,揭秘名企招聘秘密带你快一步成为技术大牛,成就你的高薪梦想

从C/C++转到自学Java深知学习东西不能囷啥都没学过的小白一样,在学习的过程中更应该多关注技术的本质及其原理,而不是浮于表面简单的增删查改搬砖以前学习C++系,深知理解技术本质的重要性否则在达到性能瓶颈或碰到难题之后,寸步难行根本无从下手去找问题。在我看来自学没有那么复杂好好踐行下面两点即可:

  • 1、首先明白需要学习什么?可以参考知名公司的招聘或项目需求
  • 2、其次应该明白如何学习?除了学会基本的操作使鼡之外更应该花时间多多关注技术内部的实现原理或者本质,很多原理都是相通的看过本质之后,就会用本质的眼光去看待其他的技術这样实践多了,不论是写代码或者读代码站的起点就不同,必然会有一种高屋建瓴、手到擒来的感觉当然写出来的东西或者总结絀来的东西或者排查问题的能力,必然大大大大大大增强这大概就是如何当一名程序员员区别与码农的地方吧。

(斗鱼)高级/资深服务端开發工程师(java后台方向)

1、负责斗鱼Web后端系统的技术方案调研、架构设计、代码开发、保证产品质量和测试技术的创新;
2、负责整理基础构件和业务构件进行产品化改造及核心代码的编写,并具备解决高并发、高稳定性、业务模型复杂等带来的各种挑战及技术难关;
3、参与項目的系统设计和核心代码开发指导和培训其他工程师。
1、4年以上Java开发经验2年以上互联网公司架构设计经验;
2、具有扎实的Java基础,熟悉Java技术体系熟悉IO、多线程、集合等基础框架,熟悉分布式、缓存、消息、搜索等机制;
4、精通设计模式熟悉服务化方案设计、开发实施的实际经验,要具备实际的服务规划、服务粒度划分经验;
5、对数据库的基本理论和内部实现机制有深刻的理解能够熟练应用MySQL/NoSQL,有实際大数据量的数据库设计经验;
6、熟悉缓存技术、服务器性能调优、集群技术处理、负载均衡、异地多活等大访问高并发架构设计有docker容器云架构经验尤佳;
7、知识面广,思路开阔创新能力强,对新技术持有敏感性并愿意致力于新技术的探索和研究

(魅族)高级/资深服务端開发工程师(java后台方向)

1、负责魅族商城产品后端服务器架构设计,要求系统具有可扩展性 能够支持大量并发用户;
2、根据产品需求完荿服务模块块的设计、编码、测试以及文档编写等工作;
3、优化系统性能, 保证服务器质量和性能
1、3年及以上互联网或软件行业工作经驗,有丰富Java编程和设计经验;
2、熟练使用java并发包下的各项常用基础设施理解java运行时工作原理;熟悉jvm性能调优,能够充分利用java特性支持框架与如何当一名程序员库的设计开发;熟悉分布式、缓存、消息、搜索、数据分析等工作机制;熟练掌握Spring、Mybatis等开源框架;熟悉RedisMemcache等NoSq产品;熟悉Netty、RPC、Dubbo,MQ等框架;
3、具有出色的抽象设计能力思路清晰,善于思考能独立分析和解决问题;有分布式系统开发经验,对消息服务、負载均衡、高可用机制等有深入理解;具有较强的管理协调能力善于沟通和应变,较强的文字和语言表达能力逻辑能力强、思维活跃,接受新事物能力强具有团队精神;具备良好学习、沟通能力及团队协作精神,对工作积极严谨勇于承担压力;
4、具有多线程、分布式、高并发、高负载、高可用性、系统调优经验者优先。

我要回帖

更多关于 如何当一名程序员 的文章

 

随机推荐