- 浏览: 91444 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (148)
- 全文检索 (1)
- java (29)
- xml (2)
- json (2)
- redis springmvc (1)
- Redis (5)
- 开发常识 (1)
- tomcat (2)
- 单元测试Junit (2)
- 设计模式 (2)
- spring (10)
- jvm (2)
- eclipse (4)
- echart (1)
- mybatis (1)
- mysql (3)
- web (1)
- js (2)
- PL/SQL (2)
- 其他 (1)
- 人生 (1)
- 安全 (2)
- jsp (2)
- 硬件电脑 (1)
- linux (3)
- git (10)
- oracle (8)
- ant (1)
- maven (2)
- 正则表达式 (2)
- chrome (1)
- 面试 (6)
- 多线程 (19)
- bug (11)
- java工具类 (3)
- 算法 (1)
- bug,git (1)
- shell (2)
- springmvc (2)
- Java8 (1)
- 消息队列-rocketmq (1)
- es (1)
- dubbo (0)
- spring cloud (0)
- hashmap (0)
- springboot (1)
- velocity (0)
如何写像诗一样美的代码呢?方法也很简单。
一、买几本经典的编程书,把书上所有例程全部重新写一遍,逐个比较和书上范例的差距,一步一步改善自己编程的风格和技巧。时间长了,自然就能写出象书上例程一样的代码,甚至可以比书上写得好。
二、基础扎实后,多看看Linux 等系统级的源代码,看看高手是如何写的,就有感觉了。
三、通读一下MSDN中所有的资料,这样,“读书破万卷,下笔如有神”。
软件工程的铁律:可能出错的地方一定会出错。
每个变量都做初始化,引用每个参数都会做有效性检查,在可能出错的每个地方都会做边界条件检查,这样开发出来的程序一定会稳固很多,就是出错也会很容易修改。野路子出来的高手,一般开发速度很快,但做完后bug很多,经常需要很长时间修改。
而真正的高手,追求的境界是 bugfree code(零缺陷代码)。
建议三:必须写够十万行代码,不要心存侥幸
程序员象木工一样,熟能生巧。程序员必须写足够代码量的程序,才会有感觉,这是一个苦力活,没有任何捷径可走。
计算机是一门实践性的科学,没有动手能力做支撑,
很难做出好的科研成果。我的一个学长是美国卡内基梅隆大学的博士,卡内基梅隆大学计算机系在全世界非常出名,
他说每个博士生必须写十万行代码才能毕业,卡内基梅隆大学博士进任何一个大企业基本不用面试。
而国内培养的大部分研究生、博士生,动手能力都偏弱。
没有写过足够代码量的,想成为高手是不可能的,只能纸上谈兵!
建议四:时刻保持好奇心
计算机技术更新换代非常快,每年都有各种各样的新技术出现。在我过去的职业生涯中,仅编程语言,我就用过 basic、masm、pascal、c++、vba、Delphi、java 等。需要时刻保持好奇心,不断学习各种新的东西,才能在未来的几十年职业生涯中不落伍。你要理解为什么 iPhone 出来很多高手用iPhone,现在一天到晚惦记着换部 gPhone 玩玩。
人的精力有限,高手往往工作压力也比较大,如何在有限的时间内掌握整个行业动态,的确是一个不简单的事情。我的经验是经常看业内的各种技术杂志,参加各种聚会,可以节约很多时间。最重要的是,交几个博学的技术高手,多和他们交流,一定获益匪浅!
建议五:不要局限在技术本身,多花点精力关注用户
做到前面几条,就已经是千金难求的高手了。但一个真正的高手需要知道用户需要什么,如何做出让用户满意的产品。
现在的软件研发越来越强烈团队协作,不少团队都配置了专门的需求分析的工程师、用户界面及用户体验的设计师,软件研发的分工越来越细。很多程序员以为只要把技术搞好,不用管用户需求和用户体验。实际上,需求方案及界面方案不可能写得非常细,具体的实施还是程序员自己来实现的。这个时候,好坏的差距很快就体现出来了。
我们写程序的最终目的是满足用户需求,不是简单完成需求规划方案中的功能。所以,程序员一定要认真揣摩用户心理,能明白用户的真实需求。
其次,怎么设计交互界面,让用户觉得好用,用起来舒服,这里面学问很大。我举一个小例子,每个程序窗口右上角都有三个按钮,如最小化、关闭等。乔布斯觉得不好看,不易用,他提出改用红绿蓝的交通灯。这样修改后,果然 Mac OS 漂亮和易用了很多。
目前互联网和手机上的应用开发,都非常强调小团队研发。这样研发模式速度会快很多,但对程序员的综合素质的要求也就更高了。
我强烈建议程序员不要仅仅局限在技术本事,还需要多点精力考虑和用户相关的问题,学会洞察用户的需求,并努力设计好用易用的产品。做着这点的程序高手,创业成算就很大了。
这些就是我说的《创业十大标准》中提到的“技术过硬”要求。
这样的技术高手,如果捕捉到合适的产品方向,并且具备一定带团队的能力,创业成功机会很大!事实上,绝大部分创业的技术公司,创始人都是这样的人!比如迅雷的邹胜龙和程浩,UCWEB的何小鹏和梁捷等
一、买几本经典的编程书,把书上所有例程全部重新写一遍,逐个比较和书上范例的差距,一步一步改善自己编程的风格和技巧。时间长了,自然就能写出象书上例程一样的代码,甚至可以比书上写得好。
二、基础扎实后,多看看Linux 等系统级的源代码,看看高手是如何写的,就有感觉了。
三、通读一下MSDN中所有的资料,这样,“读书破万卷,下笔如有神”。
软件工程的铁律:可能出错的地方一定会出错。
每个变量都做初始化,引用每个参数都会做有效性检查,在可能出错的每个地方都会做边界条件检查,这样开发出来的程序一定会稳固很多,就是出错也会很容易修改。野路子出来的高手,一般开发速度很快,但做完后bug很多,经常需要很长时间修改。
而真正的高手,追求的境界是 bugfree code(零缺陷代码)。
建议三:必须写够十万行代码,不要心存侥幸
程序员象木工一样,熟能生巧。程序员必须写足够代码量的程序,才会有感觉,这是一个苦力活,没有任何捷径可走。
计算机是一门实践性的科学,没有动手能力做支撑,
很难做出好的科研成果。我的一个学长是美国卡内基梅隆大学的博士,卡内基梅隆大学计算机系在全世界非常出名,
他说每个博士生必须写十万行代码才能毕业,卡内基梅隆大学博士进任何一个大企业基本不用面试。
而国内培养的大部分研究生、博士生,动手能力都偏弱。
没有写过足够代码量的,想成为高手是不可能的,只能纸上谈兵!
建议四:时刻保持好奇心
计算机技术更新换代非常快,每年都有各种各样的新技术出现。在我过去的职业生涯中,仅编程语言,我就用过 basic、masm、pascal、c++、vba、Delphi、java 等。需要时刻保持好奇心,不断学习各种新的东西,才能在未来的几十年职业生涯中不落伍。你要理解为什么 iPhone 出来很多高手用iPhone,现在一天到晚惦记着换部 gPhone 玩玩。
人的精力有限,高手往往工作压力也比较大,如何在有限的时间内掌握整个行业动态,的确是一个不简单的事情。我的经验是经常看业内的各种技术杂志,参加各种聚会,可以节约很多时间。最重要的是,交几个博学的技术高手,多和他们交流,一定获益匪浅!
建议五:不要局限在技术本身,多花点精力关注用户
做到前面几条,就已经是千金难求的高手了。但一个真正的高手需要知道用户需要什么,如何做出让用户满意的产品。
现在的软件研发越来越强烈团队协作,不少团队都配置了专门的需求分析的工程师、用户界面及用户体验的设计师,软件研发的分工越来越细。很多程序员以为只要把技术搞好,不用管用户需求和用户体验。实际上,需求方案及界面方案不可能写得非常细,具体的实施还是程序员自己来实现的。这个时候,好坏的差距很快就体现出来了。
我们写程序的最终目的是满足用户需求,不是简单完成需求规划方案中的功能。所以,程序员一定要认真揣摩用户心理,能明白用户的真实需求。
其次,怎么设计交互界面,让用户觉得好用,用起来舒服,这里面学问很大。我举一个小例子,每个程序窗口右上角都有三个按钮,如最小化、关闭等。乔布斯觉得不好看,不易用,他提出改用红绿蓝的交通灯。这样修改后,果然 Mac OS 漂亮和易用了很多。
目前互联网和手机上的应用开发,都非常强调小团队研发。这样研发模式速度会快很多,但对程序员的综合素质的要求也就更高了。
我强烈建议程序员不要仅仅局限在技术本事,还需要多点精力考虑和用户相关的问题,学会洞察用户的需求,并努力设计好用易用的产品。做着这点的程序高手,创业成算就很大了。
这些就是我说的《创业十大标准》中提到的“技术过硬”要求。
这样的技术高手,如果捕捉到合适的产品方向,并且具备一定带团队的能力,创业成功机会很大!事实上,绝大部分创业的技术公司,创始人都是这样的人!比如迅雷的邹胜龙和程浩,UCWEB的何小鹏和梁捷等
发表评论
-
linux 文件 dos unix格式,unix和dos下文本文件得区别
2023-09-06 23:23 153问题: 当在window ... -
java 枚举values()方法
2019-07-30 20:41 415工作中,同事 ... -
newHashMapWithExpectedSize
2019-07-30 19:45 1280newHashMapWithExpectedSize VS ... -
java 8 stream应用
2019-07-15 11:43 01.生成map List<BusinessFacili ... -
技术知识点汇总
2019-02-12 15:47 01. LTS(light-task-scheduler) ... -
架构演进
2018-12-21 00:54 369一传统垂直mvc项目 垂直架构图:表示层->业务逻辑层- ... -
集群中session共享
2018-12-20 23:25 0当项目演进时,一个节点出错,如何保证域名能访问到别的节点。 一 ... -
父类子类静态代码块执行
2018-08-22 15:23 0先看一个基础面试题: package com.jbx.te ... -
数组元素的初始化
2018-07-10 17:16 490直接上代码 ,char的初始化值是'\u0000' p ... -
统计一个字符串中每个字符串出现的次数
2018-07-03 17:43 600经常遇到这个问题:总结一下 思路和代码 import ja ... -
DateUtil
2018-03-15 20:53 493记录一下常用的工具类,方便使用的时候可以获取。 pack ... -
indexOf判断一个字符串是否包含另一个字符串
2018-02-26 08:58 511jdk中的表述如下 indexOf public int in ... -
eclipse 添加反编译
2018-01-25 08:57 321为eclipse中*.clsas/*.class withou ... -
Java读取配置文件
2018-01-24 16:00 310Java读取配置文件test.properties 文件tes ... -
HTTP请求头
2017-12-29 16:49 0Request Headers 当访问一个action时,在谷 ... -
阿里巴巴Java开发手册(终极版)
2017-11-13 16:37 483前言 《阿里巴巴 Java 开发手册》是阿里巴巴集团技术团队 ... -
JavaEE 基础实用教程(二)------Jsp应用基础
2017-11-03 17:22 658习题 1.画出HTML文件的基 ... -
JavaEE 基础实用教程(一)---简述
2017-11-03 14:55 592第一部分 实用教程 第 ... -
实现普通用户登录
2017-11-03 11:09 0页面元素: 用户名,密码,验证码,登录 1.创建登录页 ... -
Java容器-- 99集
2017-10-26 14:21 0API接口 Collection Set List H ...
相关推荐
今天看到一篇文章,深有感触,贴出来跟大家分享一下
在专业技能提升上,程序员建议定期更新知识,关注软件开发的新趋势和技术变化。书籍被视作获取新知的有效途径,自学是提升技术的关键。他建议不仅限于对某项技术的表面应用,还要深入理解其背后的原理,尝试涉猎不同...
综上所述,这位程序员建议学弟学妹们重视基础课程,理解计算机技术的广度,避免盲目跟风新技术,注重原理的理解,以及通过实践来提升编程技能。这些观点对于任何想要在IT领域长远发展的学生来说都是非常宝贵的指导。
给程序员提的9点建议.docx给程序员提的9点建议.docx给程序员提的9点建议.docx给程序员提的9点建议.docx给程序员提的9点建议.docx给程序员提的9点建议.docx给程序员提的9点建议.docx
老程序员给年轻人的建议和忠告 老程序员的共识 给程序员的20条建议
2. **智能提示**:当用户输入部分代码时,输入法会根据上下文提供相关的代码补全建议,类似于IDE中的自动完成功能,帮助程序员更快地编写出正确的代码。 3. **特殊字符支持**:编程中常常需要输入一些特殊字符,如...
"雷军:致刚入门的程序员五点建议" 在这里,我们将详细解释雷军给刚入门的程序员五点建议。雷军,一个有十年编程经验的IT行业大师,曾经管理过一千多人的研发队伍,并且现在也是一名天使投资者。他总结了五点建议,...
《程序员面试全攻略》是一本...《程序员面试全攻略》通过这些具体且实用的建议,帮助程序员在面试过程中表现出色,提高求职成功率。无论你是初入职场的新手,还是寻求职业发展的老手,这本书都能为你提供宝贵的指导。
文章通过具体案例和分析,深入探讨了程序员在成长过程中可能遇到的两大关键问题:“程序员相轻”心态和沟通交流障碍,提供了宝贵的见解和建议。 ### 程序员相轻 #### 定义与现象 “程序员相轻”是指程序员之间存在...
- **成长建议:** - 不断学习新知识,拓宽技术视野。 - 积极参与到团队协作中,向更有经验的同事学习。 - 学会利用搜索引擎等工具解决实际问题。 ##### 第三重:Competent Programmer - 合格程序员 **定义:**...
建议背诵这些单词,意味着它们涵盖了程序员日常工作中可能会频繁遇到的概念和技术用词,对提升工作效率和沟通能力有显著作用。 标签 "单词 程序员 必学" 强调了这个词汇表是针对程序员群体的学习资料,且学习这些...
接下来,结合所提供的15条顶级职业建议,深入分析程序员应该怎样打造和维护一个出色的职业生涯。 首先,编码是程序员职业的核心。建议#1提到,要成为一名优秀的程序员,最重要的是不断地练习编码。这表明理论知识...
【程序员的基本素质】 在中国,许多年轻的程序员通过自学掌握了编程技能,他们的代码可能在技术细节上表现出色,然而,他们往往缺乏对系统和程序整体理解的能力。真正的程序员不仅要有扎实的技术基础,还需要具备一...
作者还建议程序员掌握开发节奏,通过合理分配时间来保持效率。 在交付用户想要的软件方面,书中提倡以用户为中心的开发原则,让客户参与决策,使用合理的技术手段来指导开发。保持产品的可发布状态,以及通过自动化...
对于不同级别的程序员,有不同的成长建议: - 初级程序员:通过参与项目,全面了解项目流程,尝试承担更高级别的角色,如中级程序员。 - 中级程序员:深入了解高级程序员的工作,学习项目设计、架构和接口设计,提升...
本攻略将从多个角度提供实用的建议和策略,帮助程序员在跳槽过程中做出明智的选择。 首先,跳槽前的自我评估至关重要。程序员需要明确自己的技术专长、兴趣所在以及职业目标。这包括但不限于熟悉掌握的编程语言、...
一个程序员对学弟学妹建议
### 程序员职业规划:让自己变得重要的关键策略 #### 一、引言 在IT行业快速发展的背景下,程序员面临着越来越激烈的竞争和技术更新的压力。本文将深入探讨如何通过有效的职业规划,使自己在职场中变得不可或缺。...
标题和描述中提到的是关于“关注程序员健康”的主题,这通常涉及到程序员在长期从事编程工作时可能遇到的各种身心健康问题以及相应的解决建议。以下是对这些文件内容的详细解读: 1. **程序员健康面临的5大问题**:...
第5章则讲述如何成为一名合格的C程序员,提供了职业成长的建议;第6章通过一个用C语言编程的课题设计程序,展示理论与实践的结合;第7章通过一个算法演示验证程序,说明C语言在算法实现中的应用;第8章讲述如何扩展...