Ⅰ 如何自己编写一个程序
编程是一项系统而繁琐的工作,不仅需要程序员有一定的基础,还需要良好的编程习惯和风格。良好的编程习惯和风格不仅可以使程序代码更容易阅读和修改,更重要的是可以使程序结构更加合理,有助于提高程序的执行效率。下面是我编程的一些经验,供大家参考。
设计顺序
我们刚开始学编程的时候,要写一个程序,总是先做一些思路,然后边写代码边调试。这种方法一般只适用于非常小的程序。根据软件工程的特点,按照这种方法设计所有的程序是不合理的。
其实设计过程就像我们盖高楼一样。首先,我们要设计图纸,然后开始施工。因此,对于个人编写程序,应该遵循以下步骤:
1.问题分析:通过编程的方式系统地分析我们想要解决的问题,了解程序是做什么的,想要达到什么样的效果。
2.结构设计:即设计程序的整体框架,设计我们需要使用的模块,绘制流程图。
3.用户界面设计:在这里,我们应该设计一个输入输出界面,用于与用户进行交互。
4.代码设计:在这一步,我们将编写代码。
5.调试:处理程序中正在发生或可能发生的各种错误。
6.维护:一般来说,维护就是升级程序,修改原来的错误。
对于上面的步骤,我想大部分人都认为代码设计是最重要的,但是如果程序的结构还没有明确,我们写代码的时候就会出现混乱。一个程序的性能主要取决于它的合理结构。因此,在程序设计中,我们应该尽可能地注意这一点,从而使我们的程序更加完善。
设计环境
好的编程环境可以防止我们写程序时各种资源的无序,避免资源的流失。建议您在存放源程序的目录下建立一个“程序”文件夹;然后用你要写的程序名和版本名创建一个文件夹,用来存放整个源程序和各种资源;最后分别建立几个文件夹,“文档”:用来存放程序文档,包括流程图等。“资源”:用于存储图片、声音、电影等资源;“调试”:用于存储调试程序。“版本”:用于存储最终版本的程序。
例如,如果我们要制作一个名为“english”的1.0版英语学习软件,那么我们的编程环境中应该存在以下文件夹:
[drive]:\?\程序 英语1 调试
[驱动器]:\?\程序 英语1 文档
[驱动器]:\?\程序 英语1 资源
[驱动器]:\?\程序 英语1 发布
另外,最好建立一个专门的文件夹来存放各种模块,这样代码就可以重用了。这样我们每次写程序都不用重写所有模块,编程速度会大大提高。
设计技巧
如果代码写得乱七八糟,程序就不容易被阅读和修改。因此,编写代码时应注意以下几点:
(1)注释:虽然写注释需要一定的时间,但是在阅读和修改代码的时候会节省很多时间。所以建议你在定义函数的时候,把函数写在函数的第一行,把函数的参数解释在一行,在每个变量的定义语句后面给函数加注释。
(2)变量和函数的命名:每个程序都会用到大量的变量和函数。如果随意给变量和函数命名,每次使用时都必须在变量或函数的定义语句中找出变量和函数的数据类型和名称,随意命名会导致变量和函数的重复定义。
建议您使用匈牙利命名法。方法是:每个变量或函数的开头以其数据类型的缩写命名,然后加上代表这个变量或函数的功能的英文单词缩写,形成变量或函数的名称。比如定义整数变量count进行计数,其定义语句为C c++:inti count;基本:dim icount为整数.这种定义既能有效避免变量和函数的混淆和重复定义,又能保证数据类型的匹配。
(3)控件命名:如果在windows下编程,可能会用到很多控件。如果不严格管理控件名,会造成很大程度的混乱。因此,建议在给控件命名时,使用控件类型的缩写和表示该控件功能的英文单词的缩写来构成该控件的名称。例如,如果要命名一个要删除的按钮控件,控件名称可以命名为cmddel。
不是每个人都能成为顶尖的程序员,但我们都在程序员的道路上不断进步,追求更完美、更专业的程序。你不妨改革一下你的程序,你会从中感受到很多好处。
Ⅱ 如何自学编程
很多人都希望可以自学编程,那么如何很好的自学编程呢?我是一度软件教育的一名学生,我这边有自学编程的经验和大家分享,希望大家在以后自学编程里面不要感到迷茫!
每个人的学习方法是不同的,一个人的方法不见得适合另一个人,我只能是谈自己的学习方法。因为我学习java编程是完全自学的,从来没有问过别人,所以学习的过程基本上完全是自己摸索出来的。我也不知道这种方法是否是比较好的方法,只能给大家提供一点参考了。
第一步:是安装好JDK,写一个Hello World, 其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加载Class的;另一个问题是package和import问题,如何来寻找类的路径问题。把这两个问题摸索清楚了,就扫除了学习编程Java和使用JDK的最大障碍。推荐看一下王森的《Java深度历险》,对这两个问题进行了深入的探讨。
第二步:是学习Java编程的语法。Java的语法是类C++的,基本上主流的编程语言不是类C,就是类C++的,没有什么新东西,所以语法的学习,大概就是半天的时间足够了。唯一需要注意的是有几个不容易搞清楚的关键字的用法,public,protected,private,static,什么时候用,为什么要用,怎么用,这可能需要有人来指点一下,我当初是完全自己琢磨出来的,花了很久的时间。不过后来我看到《Thinking in Java》这本书上面是讲了这些概念的。
第三步:是学习Java的面向对象的编程语言的特性的地方。比如继承,构造器,抽象类,接口,方法的多态,重载,覆盖,Java的异常处理机制。对于一个没有面向对象语言背景的人来说,我觉得这个过程需要花很长很长时间,因为学习Java之前没有C++的经验,只有C的经验,我是大概花了一个月左右吧,才彻底把这些概念都搞清楚,把书上面的例子反复的揣摩,修改,尝试,把那几章内容反复的看过来,看过去,看了不下5遍,才彻底领悟了。不过我想如果有C++经验的话,应该一两天时间足够了。那么在这个过程中,可以多看看《Thinking in Java》这本书,对面向对象的讲解非常透彻。可惜的是我学习的时候,并没有看到这本书,所以自己花了大量的时间,通过自己的尝试和揣摩来学会的。
第四步:就是开始熟悉Java的类库。Java的基础类库其实就是JDK安装目录下面jre\lib\rt.jar这个包。学习基础类库就是学习rt.jar。基础类库里面的类非常非常多。据说有3000多个,我没有统计过。但是真正对于我们来说最核心的只有4个,分别是:
包的学习,每个包的学习都可以写成一本厚厚的教材,而O'reilly也确实是这样做的。我觉得如果时间比较紧,是不可能通过读四本书来学习。我觉得比较好的学习方法是这样的:
首先要通读整个package的框架,了解整个package的class,interface,exception的构成,最好是能够找到介绍整个包框架的文章。这些专门介绍包的书籍的前几章应该就是这些总体的框架内容介绍。
对包整体框架的把握并不是要熟悉每个类的用法,记住它有哪些属性,方法。想记也记不住的。而是要知道包有哪些方面的类构成的,这些类的用途是什么,最核心的几个类分别是完成什么功能的。我在给人培训的时候一般是一次课讲一个包,所以不可能详细的介绍每个类的用法,但是我反复强调,我给你们讲这些包的不是要告诉你们类的方法是怎么调用的,也不要求你们记住类的方法调用,而是要你们了解,Java给我们提供了哪些类,每个类是用在什么场合,当我遇到问题的时候,我知道哪个类,或者哪几个类的组合可以解决我的问题,That'all!,当我们具体写程序的时候,只要你知道该用哪个类来完成你的工作就足够了。编码的时候,具体的方法调用,是边写代码,边查Documentation,所有的东西都在Documentation里面,不要求你一定记住,实际你也记不住3000多个类的总共将近10万个方法调用。所以对每个包的总体框架的把握就变得极为重要。
第五步:通过上面的学习,如果学的比较扎实的话,就打好了Java的基础了,剩下要做的工作是扫清Documentation里面除了上面4个包之外的其他一些比较有用处的类。相信进展到这一步,Java的自学能力已经被培养出来了,可以到了直接学习Documentation的水平了。除了要做GUI编程之外,JDK里面其他会有用处的包是这些:
这些包里面真正用的比较多的类其实很少,只有几个,所以不需要花很多时间。
第六步:Java Web 编程
Web编程的核心是HTTP协议,HTTP协议和Java无关,如果不熟悉HTTP协议的话,虽然也可以学好Servlet/JSP编程,但是达不到举一反三,一通百通的境界。所以HTTP协议的学习是必备的。如果熟悉了HTTP协议的话,又有了Java编程的良好的基础,学习Servlet/JSP简直易如反掌,我学习Servlet/JSP就用了不到一周的时间,然后就开始用JSP来做项目了。
在Servlet/JSP的学习中,重头仍然是Servlet Documentation。Servlet API最常用的类很少,花比较少的时间就可以掌握了。把这些类都看一遍,多写几个例子试试。Servlet/JSP编程本质就是在反复调用这些类来通过HTTP协议在Web Server和Brower之间交谈。另外对JSP,还需要熟悉几个常用JSP的标记,具体的写法记不住的话,临时查就是了。
此外Java Web编程学习的重点要放在Web Application的设计模式上,如何进行业务逻辑的分析,并且进行合理的设计,按照MVC设计模式的要求,运用Servlet和JSP分别完成不同的逻辑层,掌握如何在Servlet和JSP之间进行流程的控制和数据的共享,以及Web Application应该如何配置和部署。
第七步:J2EE编程
以上的学习过程如果是比较顺利的话,进行到这一步,难度又陡然提高。因为上面的知识内容都是只涉及一个方面,而像EJB,JMS,JTA等核心的J2EE规范往往是几种Java技术的综合运用的结晶,所以掌握起来难度比较大。
首先一定要学习好JNDI,JNDI是App Server定位服务器资源(EJB组件,Datasouce,JMS)查找方法,如果对JNDI不熟悉的话,EJB,JMS这些东西几乎学不下去。JNDI其实就是javax.naming.*这个包,运用起来很简单。难点在于服务器资源文件的配置。对于服务器资源文件的配置,就需要看看专门的文档规范了,比如web.xml的写法,ejb-jar.xml的写法等等。针对每种不同的App Server,还有自己的服务资源配置文件,也是需要熟悉的。
然后可以学习JTA,主要是要理解JTA对于事务的控制的方法,以及该在什么场合使用JTA。这里可以简单的举个例子,我们知道一般情况可以对于一个数据库连接进行事务控制(conn.setAutoCommit(false),....,conn.commit()),做为一个原子操作,但是假设我的业务需求是要把对两个不同数据库的操作做为一个原子操作,你能做的到吗?这时候只能用JTA了。假设操作过程是先往A数据库插一条记录,然后删除B数据库另一个记录,我们自己写代码是控制不了把整个操作做为一个原子操作的。用JTA的话,由App Server来完成控制。
在学习EJB之前要学习对象序列化和RMI,RMI是EJB的基础。接着学习JMS和EJB,对于EJB来说,最关键是要理解EJB是如何通过RMI来实现对远端对象的调用的,以及在什么情况下要用到EJB。
在学习完EJB,JMS这些东西之后,你可能会意识到要急不可待学习两个领域的知识,一个是UML,另一个是Design Pattern。Java企业软件的设计非常重视框架(Framework)的设计,一个好的软件框架是软件开发成功的必要条件。在这个时候,应该开始把学习的重点放在设计模式和框架的学习上,通过学习和实际的编程经验来掌握EJB的设计模式和J2EE的核心模式。
J2EE规范里面,除了EJB,JMS,JTA,Servlet/JSP,JDBC之外还有很多很多的企业技术,这里不一一进行介绍了。
另外还有一个最新领域Web Services。Web Services也完全没有任何新东西,它像是一种黏合剂,可以把不同的服务统一起来提供一个统一的调用接口,作为使用者来说,我只要获得服务提供者给我的WSDL(对服务的描述),就够了,我完全不知道服务器提供者提供的服务究竟是EJB组件,还是.Net组件,还是什么CORBA组件,还是其他的什么实现,我也不需要知道。Web Services最伟大的地方就在于通过统一的服务提供方式和调用方式,实现了整个Internet服务的共享,是一个非常令人激动的技术领域。Web Services好像目前还没有什么很好的书籍,但是可以通过在网络上面查资料的方式来学习。
我相信你看了这边,以后在自学编程的时候应该思路会清楚些了吧!但是我个人建议学编程最好找个哈的学校学习,要快很多,编程这个东西需要很好的有经验的老师来带着我们比单纯的自己学的进度和对知识的领悟要快!
Ⅲ 自己编程怎么编
对于CNC编程中如何计算和打深盲孔的问题,下面是一些步骤和建议:
首先需要明确盲孔的深度和直径等基本参数,这通常可以通过零件图或工程图来确定。
在编写程序时,需要根据零件图核掘或工程图,确定孔的坐标位置和进给方向。
对于盲孔而言,需要根据孔深度和直径等参数来计算加工步骤和进给量等参数。一般而言,可以采用每次下刀深度的方式来逐步加工,同时根据刀具直径和加工精度等要求来确定每次下刀的深度和进给速度等参数。在实际编写程序时,可以根据机床类型和软件功能来改晌核选择合适的G代码和M代码等指令。
在程序编写完毕后,可以通过CNC机床进行仿真验证和修改,以确保程序正确、可靠,并符谨迹合要求。
需要注意的是,在编写CNC程序时,需要充分考虑工件材料、机床类型、刀具选择、加工精度等各种因素,同时需要严格遵守安全操作规程,以保证加工过程的安全和稳定。
Ⅳ 鍏ㄧ珯浠娴嬮噺鏀炬牱鐨勮︾粏鏂规硶锛
1銆佽$畻澶栦笟闇瑕佺殑娴嬮噺鏁版嵁锛岋紙鏀炬牱鐐瑰潗鏍囥佹帶鍒剁偣鍧愭爣锛
2銆佸湪鎺у埗鐐逛笂鏋惰句华鍣锛岃緭鍏ユ祴绔欐暟鎹锛岀劧鍚庤緭鍏ュ悗瑙嗙偣鏁版嵁杩涜屽畾鍚戯紱
3銆佸湪鏀炬牱妯″紡涓嬭緭鍏ユ斁鏍锋暟鎹杩涜屾斁鏍枫
涓鑸閮藉彲浠ヨ佹眰鍗栧叏绔欎华鐨勪唬鐞嗘垨鑰呭巶瀹舵潵缁欎綘鍩硅鐨,杩欎箞璐电殑浠烽挶,鍖呭惈鏈夊煿璁璐圭敤.
Ⅳ 怎样用自己的电脑进行编程练习
1.首先,打开Microsoft Visual C++6.0这个软件。(没有的安装一个,在网上有很多免费下载),点击如图图标。
Ⅵ 如何自学编程
自学编程对很多萌新来说是一件很难的事,但我们应该要克服这个困难。毕竟学习从来都不是一马平川的坦途,等着别人来教,那就意味着自己会永远被限制在一个小圈子里。
关于如何自学编程,我们首先要有一个明确的目标。很多萌新在初学编程的时候都喜欢想东想西,看到黑客很酷就想学渗透搞信息安全,看到别人做的 游戏 很炫,就想去学 游戏 开发。殊不知,学习一道,最忌三心二意。在初学之时,我们一定要明确自己的目标,然后朝着它前进。东搞一下,西搞一下,到头注定是竹篮打水一场空。
明确好自己的目标后,就要对自己所选择的方向做一个大概了解。如常用开发语言、主流技术这些。再对自己的学习路线进行合理的规划,为什么要制定一个学习路线规划了?一是能让你对未来的学习有一个明确的大概认知,脑袋里面想的始终不如落实到的纸面上;二是能在学习之初给你带来一定的信心提升,而且每实现一个目标都能给自己带来一定成就感和更多的信心,以此来提高继续学习的动力,避免学着学着就不想学了的情况;三是起到一个督促作用,计划既然已经做出来了,那就要去落实,没落实的话一般人心理或多或少都会想着这个事,心里空落落的以此逼迫自己去学习。
讲完了做计划的用处,再来讲讲做计划时常入的误区。很多萌新总是计划的很好,排的满满的,想的很多很好,却忽略了实际情况,以至于执行总是不能到位,挫败感不断积多导致放弃学习。所以我们一定要注意,在制定学习计划的时候一定要考虑自身因素,如自己的学习能力、自己的管控能力等。其次是对于做计划这件事,我们最好是自己来做,别人的计划顶多只能用来参考,直接生搬硬套很容易导致不符合自身的情况出现。每个人都有每个人的学习方法与方式,可借鉴可参考,一味死磕注定路会越走越窄。从自身出发,去寻找最根本的解决。
在制定计划的时候我们可以搭配一些脑图工具来让计划更快的制定好且条理清晰,如笔者想要学习Web前端,就先了解Web前端的基础知识是哪些,进行记录并安排好学习顺序。后期的进阶知识,项目实践都可以用上面的方法实现。
这个部分是让大家对自己的学习路线进行梳理并简单了解自己所要学习的知识,破除对学习的恐惧和迷茫。
制作脑图的工具大家可以自行选择,常用的如XMind、幕布、网络脑图、ZhiMap等(排名不分先后顺序,选择自己用的顺手的即可。网络脑图、ZhiMap为在线脑图工具)。
定完了计划,做好了脑图,就到了执行的时候了,我们在这一步可以使用番茄钟类的工具来进行提高己身执行力,如番茄ToDo、番茄土豆等。在这里我们需要注意的是,工具终究只是外物,是外力是靠不住的,过分依赖外力的后果就是被外力所束缚;工具所起的作用只是辅助和提醒,关键还是要靠我们自己去执行。学习一事是自己的事,是于自己有益的事,我们如果有拖延症、懒癌那我们一定要克服它们,在心里在脑海中反复提醒自己不要被拖延和懒惰吞噬,不要被一时的欢娱而引诱,自律很痛苦,但没有自律的人生会更痛苦。
学习过程中,切忌好高骛远,学着眼前的,想着后面的,更不可一口气吃成个胖子,学习一道还是要一步一个脚印为好,当前所学最好是要融会贯通,不济也得要明白学的是个什么东西,一味追求效率岂不落了下乘?万丈高楼平地起,基石是重中之重。
遇到问题,我们不要直接去问别人。一定要自己先思考而后实践,阅资料翻看文档,寻求自己的解决方法,万般未果之后再去寻求他人的帮助。在获取到他人帮助时,我们也不要一味接受,可以将他人的方法与自己先前思考实践所得来的成果进行互相印证,寻找自己错在哪,还有哪些不足。吃了一堑,那就要长一智,不要为了解决问题而去解决问题。
我们生在了一个很好的时代,这个时代有互联网,使得我们获取知识相对再简单了很多。在互联网上获取各种资源我们必不可少的要用到搜索引擎,最常见的是网络搜索,但做为学计算机的我们还应该知道"传说"中的Google搜索,小众的必应搜索和秘迹搜索。为什么要知道这些了?首先我们要明白,网络搜索虽然本土化做的相对较好,但有时候并不是那么靠的住,这个时候就需要其它搜索引擎上场了,如果你在网络搜索上没有找到自己想要的答案和资源,何不试试其它搜索引擎了?
了解完搜索引擎我们再来了解一些比较常用的学习资源获取网站和平台。首先我们要提到CSDN(Chinese Software Developer Network)中国专业IT社区,也是中国最大的IT社区,有着非常多(混杂)的学习资源,是萌新学习时必会接触到的一个社区网站。
其后是博客园,作为开发者的知识分享社区和纯净技术交流社区,博客园相比CSDN"简陋"了许多,但相应的也简洁不少,也有着不少的开发者进行经验和资源分享。
上面提到的都是社区类型的网站,但我们的学习光靠社区还是不够的。社区虽然资源多,但大多不够系统和优质,萌新学习起来很容易懵圈,而且萌新阶段学习过程中必不可少要接触一些文字教程和视频教程,这时候就要轮到那些专门做相关方面的网站显身手了。
文字教程,可以去菜鸟教程上面寻找,菜鸟教程上的文字教程相对来说全面。萌新前期学习的知识基本都能找到。如果菜鸟教程上的资源不够满意,还可以去自己想学习的技术社区寻找,基本上一门技术和编程语言都有自己相应的社区。再以Web前端为例,学习Web前端,就可以去W3School教程(全球最大的中文 Web 技术教程)上寻找学习资源。当然,除了上述的寻找方法我们还可以依靠搜索引擎和自己上电商网站购买书籍来获取文字教程和资料。
视频教程资源的获取就要比文字教程资源的获取要多很多了。国内的诸如中国大学慕课、慕课网、优达学城、网易云课堂、网易公开课、腾讯课堂等一些列视频教程网站(中间有些是付费课程,个人按需选择并分辨即可)。
拥有了学习资源,我们在自学过程中难免会遇到一些自己甚至身边的同学朋友及老师也解决不了的问题,这个时候我们除了可以去社区发帖提问还可以去专门的问答平台提问,国外有个叫StackOverFlow的网站就是一个IT技术问答网站,不过它要转比较久的圈圈才能打开,而且使用体验对萌新来说可能并不是很好。我们可以去SegmentFault(思否,以StackOverFlow为原型的技术问答网站)看看,说不定就会有令我们满意的答案。
对于一些学习能力比较强的同学来说,除了在学习之余做些小项目之外难免想要自己动 手参与到真正的项目中去,那可以去Github上找一找有没有适合自己的项目。作为世界最大的开源中心及有软件项目托管平台,上面一定会有你的"真爱"。
文末,附上一些未介绍的网站,有兴趣的同学可以自己去发掘一下。
V2EX、掘金——社区类
InfoQ——知识拓展
程序员的工具箱——在线工具箱
Office-converter——在线文件转换器
FirefoxSend——在线临时网盘
Bigjpg——AI人工智能图片无损放大
宜配屋——国内外公开课下载
IT eBooks——电子书下载
牛客网——刷题
codingground——在线使用的免费 IDE 和终端工具
Speedtest测速网——在线网速测试
道阻且长,仍需努力。纵有疾风起,人生不言弃。
Ⅶ 怎么自学编程
自学编程,如果你有足够的时间的哈,可以自学,按照一定的学习路线,一个个知识点来啃,选一个方向