1. 优秀Java程序员都是怎样写代码的
1.编码之前想一想用10分钟,20分钟甚至30分钟的时间来想想你需要什么,想想什么样的设计模式适合你将要编码的东西。
你会很庆幸“浪费”了那几分钟,当你不得不更改或添加东西到代码中时你就不将将浪费几分钟而是要花费更多的时间。2.注释你的代码说真的,没有什么比两个月后检查自己的代码,却不记得它用来干什么更糟糕的了。
注释所有重要的内容,当然那些显而易见的就免了吧。3.写干净的代码错落有致。
使用空格。根据功能模块化你的代码。
阅读RobertC.Martin写的《CleanCode》,非常有帮助。此外,遵循代码约定/标准(如,尤其如果是共享的代码。
4.重构没有人喜欢用那些超级长的方法。这通常(几乎总是)意味着你混杂了功能。
用更易于管理的方法分离代码。还能使得代码更可重用。
5.不要复制粘贴代码如果你有两个或两个以上相同的代码块,那么你可能做错了什么。阅读第4条。
6.使用有意义的名称虽然命名int变量为“elligent”或char为“mander”是很好笑;但是,这样的名称并不能说明变量是用来做什么的。7.测试代码测试,测试,测试,还是测试。
测试你的代码。不要等到已经做完程序之后再来测试,否则当你发现一个巨大的bug,却不知道它来自于哪里来的时候,你会追悔莫及。
自动化测试通常都是有价值的。它还有助于节省大量重测试和回归测试的时间。
2. 当一个程序员写不出代码了该怎么办
你已经对着电脑n个小时了。
不知道该写什么代码,或者一种摔键盘的冲动正在你的胸中酝酿。咖啡一杯接着一杯。
不敢再喝了,因为搞不好要有副作用了,心跳加速,身体不由自主地颤抖,出冷汗,但还是无法产出任何代码。所有重新发现编程趣味的努力都徒劳无功,因为你的最后一点能量都用来驱逐大脑中正在攻城略地的话:“我写不出代码了!”编程的本质是棘手即使是最优秀的程序员也会遭遇无法解决的软件工程问题。
碰到这样的问题,并不一定意味着你缺乏技能或知识。编程不是一项容易的工作,我们可以通过采取非正统的方法来保持你想要的生产力水平,并确保提交高质量的代码。
如果我在一个问题上花了几个小时,却仍然找不到解决方案的话,最后我会觉得这是浪费了时间。我不是胡言乱语——我只是觉得“没有人能够百死不悔”。
没有愤怒和悲伤。因为我已经尝试过所有方向,只是都走不通而已。
失去希望,于是开始想辞职不干。我觉得自己应该换工作,去做做调酒师或其他,至少研究和测试在啤酒中加点什么不会耗去我数个小时的时间。
这些都是我在不敲代码时的想法。我开始怀疑生活,怀疑编码,怀疑人生。
有成效不?好吧,我从来没听任何专家说过“辞职和萎靡不振”可以造就伟大的代码,所以可能并没有成效。这就提出了一个问题:我们该如何避免这种没有成效的状态?重新发现问题,重新发现你的生产力可能你已经行进在这条路上了。
那么此时你只要继续就可以了,我可能没有什么新的东西可以告诉你的。如果你是新手,那么可能你还不知道如何重新发现生产力。
下面我要分享的内容将有助于你在编程时以一种健康的方式保持生产力,不至于筋疲力竭。主要包括:测试不同的解决方案,直到感觉重复在线寻找开源解决方案向更有经验的程序员询问如果一切都失败,那就潇洒放手1 – 测试不同的解决方案,直到感觉重复在你研究或询问其他开发人员(=浪费他们的时间)之前,你应该尝试使用你现有的知识和思维来制定每一个可能的解决方案。
显而易见的是,太多的程序员是从询问他人开始的,自己甚至都不曾静下心来分析问题本身。不要成为这样的讨厌鬼,尽可能不要浪费别人的时间。
先投身于工作,然后再寻求帮助。2 – 在线查找开源代码当你投入于工作,却没有什么成果的时候,那么下一步你可以尝试开源代码。
许多编程人员构建软件,是出于创造解决方案并在线发布以供大家使用的乐趣。有些人发布的代码曾被它们的程序员使用于商业项目。
GitHub是寻找开源代码的两个主要地方之一。另一个是StackOverflow。
这些网站的解决方案是采用可重用代码的形式,方便你在项目中实现。谨记,使用其他人开发的代码总是有风险的。
它可能会以你意想不到的方式改变程序的行为。备份原始代码,这是常识。
3 – 向更有经验的程序员询问你有没有碰到过这样的情况,向其他人求助却发现你甚至不知道自己在问什么?在询问任何人之前,你得准备好一些你无法通过网络信息搜索解答的问题。明确的问题,才能有明确的解决方案。
如果是你自己都描述得云里雾里的问题——那么你只会得到一个云里雾里的回答(并且可能会惹恼他人)。如果你周围没有任何开发者可以询问,那么也可以在线查找。
你可以在StackOverflow或MSDN社交论坛上询问,或查找特别针对于你所用技术的Slack频道。4 – 如果一切都失败,那就潇洒放手不要一心钻在死胡同里,实在不行,那就去干点别的事——睡觉,吃东西,等等。
你觉得这是在逃避工作?那就错了。我要告诉你的是,当你最轻松的时候,往往正是解决办法灵机一现的时候,这不是我胡编乱造的,而是有科学的证明。
此时你的大脑工作在“发散思维”的模式下,而不是在“集中注意力”的模式下——你可以在这篇文章中了解之间的差异。总的来说,这个理念就是要你忘记手头的问题,让你的意识心灵沉浸到其他的事情中。
此时,你的潜意识则开始连接要点,朝着顿悟的方向前行。我们可以做些什么以便于帮助大脑在发散思维的模式下工作呢?放轻松就好了:散步(古代哲学家非常习惯于在走路时演讲,因为他们意识到走路有助于思考)清理办公室或住所(完成后给自己一个奖励)与朋友约会,和杯咖啡,聊聊八卦(如果你过于关注问题的话,那么建议和不能提供帮助的非编码人员交谈)总结我在编程和生活两者之间保持了一种健康的平衡。
无论你是为了兴趣爱好、钱还是改变世界的宏图伟业而选择编程——编程都不应该是你唯一痴迷的东西,否则你会走火入魔。最后再说一句,如果你绞尽脑汁,却仍然无法解决问题,那么不妨先放一放。
通过潜意识的运作,搞不好突破性的想法就会灵光乍现。
3. 程序员一天要写多少代码
一千行确实有可能,但是天天千行,你TM一定是在逗我。一个需求需要每天都写那么多代码吗?这得是多大的项目。另外就是代码行数啥都代表不了,一千行里面不提取公共方法,到处重复的垃圾代码,毫无意义
代码又不是以量取胜,而关键在于实现功能,有些功能比较难实现,这个难是可以有很多解释的,比如功能需要很复杂的逻辑实现,也可能是你不知道有专门实现这个功能的现成功能类,其实只需要十行代码,但你在背后进行的查询也是工作量,虽然只有十行代码。
所以说不一定就是代码量多的人就做的多