程序员的编程思想怎么培养?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员的编程思想怎么培养?相关的知识,希望对你有一定的参考价值。

我是学软件开发的!但是学的很差,我没次看到程序都不知道第一步该怎么做!而且面象对象的含义不清楚!请个位IT精英前辈帮帮我,教教我怎么才能学好软件开发,当一名合格的程序员?谢谢拉.............

1.明确学习目的

学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能 锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。

2.打好基础

学编程要具备一定的基础,总结之有以下几方面:
(1)数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
(2)逻辑思维能力的培养 学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
(3)选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发 应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发 开发工具如 Java 等。 3)网络开发 对客户端开发工具如:Java Script 等;对服务器开发工具如:php 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。

3. 注意理解一些重要概念

一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。

4.掌握编程思想

学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC 就要学习 Windows 的内在机理、什么是线程......;学习 COM 就要知道 VTALBE 、类厂、接口、idl......,关键是学一种思想,有了思想,那么我们就可以触类旁通。

5.多实践、多交流

掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。

6.养成良好的编程习惯

编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。

7.上网学编程

在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载。例如网站“编程课堂”(http://best.yeah.net/)主要以 VB 和 Delph;教学和交流为主,提供大量实用技巧;网站“现在时编程学园”(http://pshool.yeah.net/)是专门介绍C、VC、VB、Delphi 等的综合编程网站;网站“ VB 编程乐园 ”(http://www.vbeden.com/)提供内容丰富而且实用的编程技术文章、精选控件、源代码下载、计算机考试、相关软件以及编程书籍推荐等等。

8.加强计算机理论知识的再学习

学编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数学基础理论。学过之后,很多以前遇到的问题都会迎刃而解,使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习,再努力地实践,编程水平一定会不断提高到一个新高度。
参考技术A 1.明确学习目的

学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能 锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。

2.打好基础

学编程要具备一定的基础,总结之有以下几方面:
(1)数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
(2)逻辑思维能力的培养 学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
(3)选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发 应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发 开发工具如 Java 等。 3)网络开发 对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。

3. 注意理解一些重要概念

一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。

4.掌握编程思想

学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC 就要学习 Windows 的内在机理、什么是线程......;学习 COM 就要知道 VTALBE 、类厂、接口、idl......,关键是学一种思想,有了思想,那么我们就可以触类旁通。

5.多实践、多交流

掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。

6.养成良好的编程习惯

编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。

7.上网学编程

在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载。例如网站“编程课堂”(http://best.yeah.net/)主要以 VB 和 Delph;教学和交流为主,提供大量实用技巧;网站“现在时编程学园”(http://pshool.yeah.net/)是专门介绍C、VC、VB、Delphi 等的综合编程网站;网站“ VB 编程乐园 ”(http://www.vbeden.com/)提供内容丰富而且实用的编程技术文章、精选控件、源代码下载、计算机考试、相关软件以及编程书籍推荐等等。

8.加强计算机理论知识的再学习

学编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数学基础理论。学过之后,很多以前遇到的问题都会迎刃而解,使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习,再努力地实践,编程水平一定会不断提高到一个新高度。
参考技术B 1.明确学习目的 学习编bai程对大多数IT业人员来du说都是非常有用的。学编zhi程,做一名编程人员,从dao个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能 锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。 2.打好基础 学编程要具备一定的基础,总结之有以下几方面: (1)数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。 (2)逻辑思维能力的培养 学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。 (3)选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发 应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发 开发工具如 Java 等。 3)网络开发 对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。 3. 注意理解一些重要概念 一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。 4.掌握编程思想 学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC 就要学习 Windows 的内在机理、什么是线程......;学习 COM 就要知道 VTALBE 、类厂、接口、idl......,关键是学一种思想,有了思想,那么我们就可以触类旁通。 5.多实践、多交流 掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。 6.养成良好的编程习惯 编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。 7.上网学编程 在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载。例如网站“编程课堂”()主要以 VB 和 Delph;教学和交流为主,提供大量实用技巧;网站“现在时编程学园”()是专门介绍C、VC、VB、Delphi 等的综合编程网站;网站“ VB 编程乐园 ”()提供内容丰富而且实用的编程技术文章、精选控件、源代码下载、计算机考试、相关软件以及编程书籍推荐等等。 8.加强计算机理论知识的再学习 学编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数学基础理论。学过之后,很多以前遇到的问题都会迎刃而解,使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习,再努力地实践,编程水平一定会不断提高到一个新高度。 参考技术C

编程思想培养当然要多练习总结了,我就以编程思想中算法 —— 逻辑思维来举例子吧。

在具体解决问题的过程中,最关键的能力有两个 —— “逻辑思维”和“调试纠错”。

逻辑思维能力

程序员圈子很流行的一个笑话。

娃妈给程序员老爸打电话:“下班顺路买10个包子带回来,如果看到卖西瓜的,就买一个。”

结果娃爸手捧一个包子进了门。娃妈怒道:“你怎么就只买了一个包子?!”

娃爸答曰:“因为看到了卖西瓜的。”

虽然是一个黑程序猿的笑话,但也体现了很典型的编程思维。编程就是理性严谨地与电脑对话,因此对编程者的逻辑思维能力也有很高的要求。

逻辑思维中有个很重要的原则叫 MECE(Mutually Exclusive and Collectively Exhaustive),意思就是“相互排斥且整体完备”,也就是“不重复,不遗漏”。

在编程的算法中,需要处处考虑MECE原则。解数学题时,也是同一个道理——我们要保证答案中考虑到所有的情况,而这些情况既不遗漏,也不重叠。

调试纠错能力

编程的世界里,只有对与错,没有模糊值。在程序运行的过程中,只要最终的结果与期望不符合,就证明算法中肯定有错漏。

但是,程序中的bug常常不是一下就能找到的,需要我们把程序的运行顺序一步步地跟走一遍,同时观察每一步的运行结果。这就需要很多的耐心、观察力和专注力,对抗挫能力也是一种磨练。在这个过程中,也会逐渐懂得一个道理:犯错很正常,纠正它,下次不再犯类似的错误就好。

这一点,也是优秀的人身上常常共通的一项品质。这些人总是在进步,因为他们懂得“回溯、调试、纠错”,不断进行自我优化和成长,不断be better。

希望对你有所启发帮助

参考技术D 我想我还不算合格吧。
但我知道程序员离不开数学知识,需要较强的逻辑思维。
面像对像的编程思想就是:你让具备某种属性的事物去完成某项工作,这就是面像对象了,而你不需要知道它是怎么完成的,只要告诉它去做什么就OK了。

面向对象编程思想-建造者模式

一、引言

父母希望孩子们受到良好的教育,但孩子的培养是很复杂的,从认字,写字,颂词,到语数外理化生音体美的培养等等,如果让父母一个个这样培养孩子是很不容易的,这个时候就出现了学校,学校封装了孩子每一步的培养要做的事情,父母只需要把孩子送到学校,学校负责把培养好的孩子交换给父母。啊。。。这个例子就做抛砖引玉了,在程序设计中,同样存在这样的设计思想,下面介绍今天我们要学习的建造者模式

二、建造者模式

定义:将一个复杂对象的创建与它的表示分离,使得同样的构建过程创建出不同的表示。在这个例子中,家长和学校是直接联系的,学校指挥老师把学生一步步的培养成才,真正给学生添加技能的是老师。下面通过一个例子帮助我们理解建造者模式

 //充当学生类
    class Product
    {
        //定义培养学生的步骤集合
        IList<string> lstParts = new List<string>();
        public void Add(string part)
        {
            lstParts.Add(part);
        }
        //展示学生培养过程
        public void Show()
        {
            Console.WriteLine("针对不同的学生因材施教开始。。。。");
            foreach (string part in lstParts)
            {
                Console.WriteLine(part);
            }
            Console.WriteLine("针对不同的学生因材施教完成。。。。");
        }
    }

 

    //充当老师的基类 每个学生的培养都会经历从基础到高级的步骤  
    abstract class BaseBuilder
    {
        public abstract void BuildPartLower();

        public abstract void BuildPartHigher();
        //获得培养好的学生
        public abstract Product GetResult();
    }

 

    //充当老师角色  如培养底子较好的学生
    class ConcreteBuildStrong:BaseBuilder
    {
        private Product pro = new Product();

        public override void BuildPartLower()
        {
            pro.Add("我们先来学习算法导论");
        }
        public override void BuildPartHigher()
        {
            pro.Add("然后学习数据结构与算法分析");
        }
        public override Product GetResult()
        {
            return pro;
        }
    }

 

    //充当老师角色  如培养底子较弱的学生
    class ConcreteBuildWeak:BaseBuilder
    {
        private Product pro = new Product();

        public override void BuildPartLower()
        {
            pro.Add("我们先来学习C#从入门到精通");
        }

        public override void BuildPartHigher()
        {
            pro.Add("然后学习C#高级编程");
        }

        public override Product GetResult()
        {
            return pro;
        }
    }

 

    //充当学校,指挥培养学生  指挥者类
    class Director
    {
        //学校因材施教 根据学生不同的底子 分配给不同的老师培养
        public void Construct(BaseBuilder builder)
        {
            builder.BuildPartLower();

            builder.BuildPartHigher();
        }
    }

 

    class Program
    {
        //以培养学生为例
        //每个学生的培养过程是一致的,通过相同的培养过程创建出不同的学生
        //培养学生应用到了建造者模式
        static void Main(string[] args)
        {
            //家长要把两个孩子交给学校培养,一个底子好,另一个底子相对薄弱
            Director dic = new Director();
            BaseBuilder stronger = new ConcreteBuildStrong();
            BaseBuilder weaker = new ConcreteBuildWeak();
            //学校把底子好的分派给老师A
            dic.Construct(stronger);
            //老师批准培养好的学生毕业
            Product proStrong = stronger.GetResult();
            proStrong.Show();
         
            dic.Construct(weaker);
            Product proWeaker = weaker.GetResult();
            proWeaker.Show();
           
            Console.Read();
        }
    }

 

分析:建造者模式将建造代码与表示代码分离,可以使客户端不需要知道产品的内部细节,从而降低了客户端与具体产品间的耦合度;(解耦)

建造者模式主要用于“分步骤创建一个复杂的产品”,“分步骤”是一个固定的过程,复杂对象的各个部分是经常变化的

 

上篇文章中抽象工厂模式解决了“系列产品的”的创建,而本文建造者模式解决的是“产品部分”的创建问题

关于建造者模式的学习就到此结束了,希望能够帮到读者(有不理解地方可以给我留言哦O(∩_∩)O~),如有不恰当地方,欢迎斧正,感谢您的阅读!

 

以上是关于程序员的编程思想怎么培养?的主要内容,如果未能解决你的问题,请参考以下文章

新手如何学习编程?

Java编程思想的作品鉴赏

计算机程序中的逻辑思维怎么培养呢?

java编程思想越看越懵逼了,是否这本书适

计算机专业研究生核心能力培养——如何更好的写代码

看过java编程思想这本书的请进!!!