热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

提高编程技巧的十大方法程序员技术浅谈

本文为开发者总结了提高编程技巧的十大方法,为众多开发者作明灯指引,在编程时能让你事半功倍.

本文为开发者总结了提高编程技巧的十大方法,为众多开发者作明灯指引,在编程时能让你事半功倍.

1.学习一门新的编程语言(Learn a new programming language

学习一门新的编程语言将有助于你开拓新的思维方式,特别是当你使用不熟悉的语言时,你将学习到很多种思维方法应用到语言中。而所学习到的新思维方式,你可以运用在你所熟知的语言中。甚至有时你会使用新学的语言进行你的重要项目。

提供学习经验包含: Lisp (Scheme is good), ForthPostScript or Factor (stackoriented programming languages), J (wonderful array programming language), Haskell (strongly typed purely functional programming language), Prolog (logic programming) and Erlang (concurrent programming goodness).

2.阅读好的且具有挑战性的编程书籍Read a good, challenging programming book

从书中你将学到很多,虽然实践很重要,但通过阅读好的且具有挑战性编程书籍是你改变思维方式重要的一步。这种具有挑战性的书籍包括The Art of Computer Programming、Structure and Interpretation of Computer Programs (SICP)、A Discipline of Programming or the famous dragon book。

当然,你可以选择一些难度较低的书籍,但要避免选择那些“傻瓜”书籍,即称能够在24小时或是21天内教会一切的书籍,从这些书中无法学习到提高编程技巧的内容。

3.加入一个开源项目中( Join an open source project

加入一个开源项目的优势是什么呢?你可以和其他人(在私人项目中独自工作过)一起工作,当遇到不熟悉的代码时,你将会去研究,学习理解一个不熟悉的代码库(这应该是很有挑战性的)

4.解决编程难题(Solve programming puzzles)

你总是能够解决编程难题,在Project Euler中出现的数学问题,这或许就是代码难题中最流行的网站。

你应该试图去解决代码问题;程序员在编程过程中总是尝试用最少的步骤来解决遇到的难题,而在这过程中,你可以学到语言的更深奥和更特殊的功能,从而你会不得不思考代码的创造性。

5.计划(Program

在编程开始之时,制定一个计划,拟定设计框架并实现它。并重复该操作。通过编写代码是学习代码的做好方式。

你将在错误中不断的学习、提升自己,相比于看书完成项目更加有激励性同时也带你带来更多的乐趣。

6.阅读学习代码(Read and study code

学习著名的软件编程,如Linux kernel。学习教育的一个很好的操作系统是MINIX3。从中你可以学到很多新的语言用法,对软件架构能略知一二。虽然阅读不熟悉的代码比较困难,但你会受益很多。

通过阅读可以使你了解更多的API,或者是一门编程语言。

7.阅读一些编程网站( Hang out at programming sites and read blogs

阅读不同的编程网站(如论坛和StackOverflow)将有助于你通过其他程序员获取知识。

同时,你应该阅读大量的博客,说起软件行业中博客写的好当属Joel,(尽管他现在不在写博客了,很多有价值的文章依然存在文档里)。Coding Horror and Lambda the Ultimate。

当然,news.ycombinator.com.也不错。

8.书写代码(Write about coding

在博客上练习书写代码。你也可以在不同的问答网站上回答问题。同时你也可以写一些教程(DreamInCode)。在你编写代码时,你会想着要正确编写,为能够解释其中的问题和技术。编写代码还能够体现你的编程知识,提供你英语语法,这些在编程中都是很重要的。

9.学习基础的编程语言( Learn lowlevel programming)

学习基础编程语言,它们能够帮助你理解基层架构。比如C语言,或是汇编语言。

学习计算机是如何执行程序,知道操作系统是如何运作的,这是程序员最基本的要求。如果你想好好了解基础语言,你可以阅读有关电脑结构,操作系统,嵌入式系统,驱动程序操作系统开发等等的书籍。

10.有不懂得不要随便上StackOverflow,自己多想想!(Don’t rush to StackOverflow. Think!)

代码出错时,你可能会急于用最少的时间去解决它。你会怎么做呢?上StackOverflow网站吗?别这样做。要认真思考问题,拿出纸和笔,认真想出解决方案。放松大脑保持头脑清晰然后再重新看代码。

如果一小时后还没解决问题,再尝试StackOverflow。但要记得,首先要自己思考解决问题哦。


推荐阅读
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • 初探PLC 的ST 语言转换成C++ 的方法
    自动控制软件绕不开ST(StructureText)语言。它是IEC61131-3标准中唯一的一个高级语言。目前,大多数PLC产品支持ST ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • Linux下C语言的几道经典面试题小结(分享)
    本篇文章整理了几道Linux下C语言的经典面试题,相信对大家更好的理解Linux下的C语言会有很大的帮助,欢迎大家探讨指正。1、如果在Linux下使用GCC ... [详细]
  • elixirerlang通过AyandaDubeFIPS(联邦信息处理标准)[1]是由NIST(美国国家标准技术研究院)定义 ... [详细]
  • rabbitmq集群搭建「建议收藏」
    rabbitmq集群搭建「建议收藏」一、基础安装前提:三个节点都主机映射,关防火墙网络,配好yum(后边出错,主机名和映射要对应)1.安装(三个节点)2.mq1启动rabbitmq ... [详细]
author-avatar
手机用户2502902843
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有