想成为最牛程序员吗?以下几点有助你实现这个目标。

2023-10-06 19:30

本文主要是介绍想成为最牛程序员吗?以下几点有助你实现这个目标。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Tip 1 要方法而不是记忆
我的一个程序员朋友常跟我说记住超过 200 C++ 函数是多么的有帮助。 我从来不必去查找函数的定义,因此我可以比其他程序员编程快上 50% 他自豪的说。可结果是什么?难道他不知道编译器的代码自动完成功能可以节约大量查找函数及输入函数的时间吗,另外当 C# 发布出来后,他在记忆函数上面的努力就白费了。当然,编程中对函数的熟记是一件必需的事情,但是你应当花费更多的时间在学习做事的方法上,比如说创建一个数据库连接,如何产生 RSS 源等,然后是关注于代码是如何实现的。学习做事的正确方法远比死记硬背重要。
Tip 2 建立属于你自己的资源库
我们都会有因为这样或者那样原因而不得不建立的代码集。我从来不记得连接数据库的准确代码语句,所以我每次都不得不在代码集中花 10 分钟去查询它。为了解决这个问题,我创建了一个用于记录代码片段的 Word 文档,以帮助我记忆和查找。我的一个同事建了个记录链接的书签,另外一个同事在他的邮件中存储了这些内容。无论你的方法是什么,都是一种可以使你方便查找到文件或内容的好习惯。当你建立你的知识库后,你会发现它将极大的帮助你去把代码写得更好和更快。
Tip 3 知道做什么而不是怎样做
很多初级程序员问我 我怎样做这个,或者我怎样做那个? 我总是会跟他们说 你想做什么呢? 听闻此言后,他们会死盯着我,就好像我跟他们的妈妈约会了一样。这就是我的下一个观点,绝不要在知道你想做什么之前去学习怎样做,比如一个程序员想要搜索一个文本文件中是否存在的某个特定的词汇。下面是用 C# 来实现该目的:
view plaincopy to clipboardprint?
1.   string  fileContent;   
2.   System.IO.FileStream myStream =  new  FileStream( "c://aa.txt" , FileMode.Open);   
3.   System.IO.StreamReader myStreamReader =  new  StreamReader(myStream);    
4.   fileContent = myStreamReader.ReadToEnd();   
5.   myStreamReader.Close();   
6.   int  idx = fileContent.   
7.   IndexOf( "string" );    
8.   if  (idx)   
9.   {   
10.  return  true   
11.  }  
string fileContent;
System.IO.FileStream myStream = new FileStream("c://aa.txt", FileMode.Open);
System.IO.StreamReader myStreamReader = new StreamReader(myStream);
fileContent = myStreamReader.ReadToEnd();
myStreamReader.Close();
int idx = fileContent.
IndexOf("string");
if (idx)
{
return true
}
现在我给他这些代码去做这件事,但是更重要的是理解自己正在试着做的是什么。在这个例子中我们想做的是: 1.  打开一个文件 2.  读其中的内容 3.  关闭文件 4.  搜索字串 5.  如果找到了则输出结果用这个方法来解决事情产生了以下结果: 1.  它使语言无关 2.  使你的精力集中在需要做什么上 3.  使你的代码更易读和有效知道要做什么将使你的代码更有目的性。现在在 C++ PHP VB.NET Ruby on Rails 中编写上述代码是很容易的事情了,因为你理解了要做什么而不是怎样去做。
Tip 4 创建适合你的注释风格
每一个程序员都讨厌注释,但是为了写出更有质量和易读的代码,我们需要注释。问题是大多数程序员常被告知如何注释,一些公司希望每一行代码都有注释,另外一些则想要在每个函数前面有一段注释,还有的规定在不同的代码块前注释。我并不同意这种强制性的规定,只要代码是可用的、易读的和有效的,那么程序员应当可以用其个人喜好的格式来注释。对我来说在每一行都注释将破坏代码的节奏,我更喜欢在函数的前面注释,罗列我接下来一步步将要做什么,然后在函数中参考注释中所写的步骤进行编程。这是适合我的模式,这样可以在我编程前帮助我组织设计,也保持了我的节奏,使我不会因为需要注释而在编程时中断,也有助于其他人阅读我的代码。下面是我怎样注释的例子:
view plaincopy to clipboardprint?
1.   /* 1. Open File*   
2.   2. Read file into string*   
3.   3. Close file*   
4.   4. Search for key word*   
5.   5. If fond return true;  
6.   */   
7.   string  fileContent;   
8.   //1.   
9.   System.IO.FileStream myStream =  new  FileStream( "c://aa.txt" , FileMode.Open);   
10.  System.IO.StreamReader myStreamReader =  new  StreamReader(myStream);   
11.  //2.   
12.  fileContent = myStreamReader.ReadToEnd();   
13.  //3.   
14.  myStreamReader.Close();    
15.  //4.   
16.  int  idx = fileContent.IndexOf( "string" );   
17.  if  (idx)   
18.  {   
19.  //5.   
20.  return  true ;   
21.  }  
/* 1. Open File*
2. Read file into string*
3. Close file*
4. Search for key word*
5. If fond return true;
*/
string fileContent;
//1.
System.IO.FileStream myStream = new FileStream("c://aa.txt", FileMode.Open);
System.IO.StreamReader myStreamReader = new StreamReader(myStream);
//2.
fileContent = myStreamReader.ReadToEnd();
//3.
myStreamReader.Close();
//4.
int idx = fileContent.IndexOf("string");
if (idx)
{
//5.
return true;
}
这种注释风格使我和大多数程序员可以容易的阅读它。那么,找一个适合你的注释风格吧。
Tip 5 精通 one ,学习 another ,关注 next
有时有程序员发 email 问我他应该学习什么语言,什么是最好的编程语言等等。你至少应该精通一门编程语言,可以相当好的去编写代码,然后再去学习掌握另外一门,逐渐的成长。以我自己为例,我精通 C# ,擅长 PHP ,并且已经开始使用 Ruby on Rails 大概有一两个月了。为什么呢?精通一门语言可以使你进步,在进步中写更好的代码,找到完成任务更好的方法等。进步也是我作为一个程序员年复一年的工作,却仍没有觉得枯燥的原因。

这篇关于想成为最牛程序员吗?以下几点有助你实现这个目标。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/153844

相关文章

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核