热门标签 | 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。但要记得,首先要自己思考解决问题哦。


推荐阅读
  • 本文详细介绍了C语言中的指针,包括其基本概念、应用场景以及使用时的优缺点。同时,通过实例解析了指针在内存管理、数组操作、函数调用等方面的具体应用,并探讨了指针的安全性问题。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • CMake跨平台开发实践
    本文介绍如何使用CMake支持不同平台的代码编译。通过一个简单的示例,我们将展示如何编写CMakeLists.txt以适应Linux和Windows平台,并实现跨平台的函数调用。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • Python 学习是否需要先掌握 C 语言?
    Python 是一门非常适合编程入门的语言,很多人疑惑是否需要先学习 C 语言才能更好地掌握 Python。本文将详细探讨这个问题,并为初学者提供专业的建议。 ... [详细]
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社区 版权所有