① 程序员需要具备哪些东西
程序员工作三连
② 要当个高手程序员需要具备哪些知识
1.不需要,而且学习java如果你先接触C,我怕语言上的差异会让你难以转型,java是面向对象的,C是面向过程的,我推荐学习java,入门简单,用途广,就业方向舵
2.计算机专业的课程肯定是必须的,数学是培养你的逻辑思维,编程人员非常讲究逻辑能力,现在是全球信息化时代,一般走编程道路的人,英语是不能或缺的学科,很多时候你要就业的公司都是外企比较多,如果你不会英语会非常非常吃亏,数据库必定要学,电脑的作用简单点说就是处理数据的问题,连数据都不会,你编写的程序永远都只能是小打小闹的程序。同时如果能力够,时间够,接触一下数据结构,算法,甚至计算机操作系统都要学习一下,对于你写程序,理解程序运行原理都是很有作用的
3.你每天能抽5个小时来学习已经足够了,不过要贵在坚持,同时你要知道,学程序是绝对不能脱离敲代码,一个入门的程序员,敲代码一定要超过10万行(呵呵,坚持啊)
4.网上的视频都不会教你太多的,因为人家培训机构还是得赚钱,如果你想进阶最后还是得靠你自己,还有配套一系列好的教科书,你才能事半功倍,这方面多去网上查查看,视频看多也没用,关键还得靠自己去写,去想,去验证,去实现
5.现在毕业生普遍都是高不成低不就,学校里学的东西往往只是基础,真正企业用到的基本没有,这就需要你自己多去实战,看人家写好的大项目代码,认真吸取经验,刚开始写程序时很累的,而且很多东西都不懂,很容易你就会放弃,所以坚持才是最要紧的,但是如果你热爱上它,你会发现一天的时间很快就在写程序中度过,我以前学java就是这样,天天晚上写到2,3点都不觉得累
最后还是得说一下,程序员道路是刚开始是比较辛苦的,程序设计大一点你就会感觉无能为力,但是千万不要放弃,否则你就不应该开始...
祝福你能顺利走上高手程序员的道路吧
③ 程序员的必备技能
1.学无止境;
2.掌握多种语言;
3.理性面对不同的操作系统或技术;
4.别把自己框在单一的开发环境中;
5.使用版本管理工具管理你的代码;
6.是一个优秀的团队成员;
7.把你的工作变成文档;
8.注意备份和安全;
9.设计要足够灵活;
10.不要搬起石头砸自己的脚。
④ 程序员需要学些什么
程序员的岗位需求很多,例如大型网络公司、软件开发公司等等都需要程序员。
程序员需要学习:
1、掌握数据及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;
2、理解计算机的组成以及各主要部件的性能指标;
3、掌握操作系统、程序设计语言的基础知识;
4、熟练掌握计算机常用办公软件的基本操作方法;
5、熟练掌握基本数据结构和常用算法;
6、熟练掌握C程序设计语言,以及C++、Java、Visual Basic中的一种程序设计语言;
7、熟悉数据库、网络和多媒体的基础知识;
8、掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;
9、了解常用信息技术标准、安全性,以及有关法律、法规的基本知识;
10、了解信息化、计算机应用的基础知识;
11、正确阅读和理解计算机领域的简单英文资料。
程序员必备技能:
1、熟练开发工具
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。
而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。
其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。
另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
2、熟知数据库
作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。
虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL,Postgres等。
3、了解操作系统
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。
要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。
Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。懂得网络协议TCP/IP。
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式。
从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,深入掌握TCP/IP协议是非常必要的。
至少,需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
4、明白DCOM/CORBA/XML/WEBServices存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。
XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。
5、不要将软件工程与CMM分开
大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员。
一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能。
如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。
6、需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求。
要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
7、模块化思维能力
作为一个优秀的程序员,他的思想不能局限在当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。
这样做可以使代码能重复利用,减少重复的劳动,也能使系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
就业方向:
1、网络开发
现在网络已经成为世界通讯的一座桥梁,好像Javascript、PHP、Ruby这几类开发语言大部分是用作网络开发方面。
2、企业软件开发
JAVA、C#、VB这几类开发语言都实现了面向对象开发的目标,更多时候用于企业系统的开发。
3、系统软件
C语言、C++、Object-C这些软件更多是用在系统软件开发,嵌入式开发的方面。
当然,这分类不是绝对,像JAVA、C#、VB很多时候也用于动态网站的开发。在很开发项目都会使用集成开发的方式,同一个项目里面使用多种开发语言,各展所长,同步开发。
但所以在刚入门的时候,建议先为自己选择一种合适的开发工具,“专注地投入学习,全力一击”。
会编程、会计算机语言就能加入互联网发展大潮中,享受数字经济发展的红利,一时间社会上的程序员培训机构都变得格外火爆。
但是现在,专家的数据分析结果告诉你:若想跟上数字经济发展的步伐,光会编程可不行,这个行业现在紧缺高端的、综合型人才。
11月22日下午,清华大学经管学院互联网发展与治理研究中心与领英联合发布《中国经济的数字化转型:人才与就业》,揭示我国数字人才现状与趋势。
报告显示我国数字经济发展面临人才短缺的挑战,但这种短缺主要体现在拥有中高级专业技能数字人才的比例不高,拥有人工智能、智能制造等前沿技术的人才更是少之又少。
与美国、英国、加拿大等国家相比,中国的数字人才储备尚有很大差距。
此外,报告根据对人才需求的数据分析,结果显示我国数字人才的技能需求不再强调单一编程技能,更加看重技术、管理和领导力等综合技能。
2015年,我国从事信息传输、软件和信息技术服务相关工作的人数约350万,但其中中高端人才,特别是前沿技术的数字人才并不多。根据领英中国智库的研究,在人工智能领域,美国的从业者数量在85万人以上,印度15万,英国14万,中国只有5万多人。
报告负责人、清华大学经济管理学院副院长陈煜波教授表示,我国目前在大数据与人工智能领域人才缺口明显。
他解释说,目前中国85%以上的数字人才分布在产品研发类,而深度分析、先进制造、数字营销等职能的人才加起来只有不到5%,存在较大缺口,新兴技术人才和创新型人才培养方面存在滞后和不足。
这份研究报告的基础数据来自领英在中国的3600万个人用户,这些用户毕业于1.5万多所国内外院校,分布在36.4万家企业,拥有超过2.3万项技能。
陈煜波研究团队从中筛选了72万数字人才,多维度提取用户画像并跟踪其职业轨迹,以此预测不同地区的人才流向、雇佣率、受雇主欢迎的技能等人才趋势层面的信息。
陈煜波说,根据数据分析结果,整体来看,虽然编程技能和数据分析技能需求占据主导,然而随着数字产业走向成熟,企业除了强调编程技能,也逐步更加看重人才的技术、管理和领导力等综合技能。
近年间,项目管理、产品运营等“技术+管理”类技能的需求呈现出明显的上升趋势,懂技术、懂管理的人才被认为是“一将难求”。
领英中国代理总裁曾志恒也提醒,如果你有兴趣向数字职能转型,不能仅仅专注于自己的技术能力,沟通和领导力等软性技能将成为你脱颖而出的关键。
陈煜波希望这些研究结果能为教育行业和政府部门提供借鉴。他说,教育行业可根据职位的供需趋势更好地规划人才培养的方向,政府也可更好地了解人才流动方向、技术缺口等,以此制定有针对性的引才策略。
程序员岗位职责:
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态进行分析研究。
相关书籍:
很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 9的书。
其实除了前9本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。
下面就按照各本书的推荐数排列。
1、《代码大全》 史蒂夫·迈克康奈尔
2、《程序员修炼之道》
3、《计算机程序的构造和解释》
4、《算法导论》
5、《重构:改善既有代码的设计》
6、《设计模式》
7、《人月神话》
8、《计算机程序设计艺术》
9、《编译原理》(龙书)
10、《活着》
⑤ 程序员要具备那些
工程质量是检验优秀程序员的唯一标准,一般的程序员的思维需要有一个明确的目标(功能),逻辑上行得通的就能实现,很少去考虑为什么要这么做?这样的产品也只是基本满足,但是大多数程序来说,就这个基本满足就已经是加班加点的去完成~
1、程序员三大特质之甘愿受苦
听起来很搞笑,但确实是这样,差不多每个优秀的程序员,在他或她的职业生涯里,各个阶段,都都有着曾有花好几天时间去解决一个问题的经历。我待bug如初恋,bug却虐我千百遍~程序员品味着困难给他们带来的挑战,这让他们日以继夜,他们明白,问题必须要解决掉。
当遇到困难时,首先要尝试自己去完成任务,如果你不能完成,再寻求帮助。 不要在自己没有努力过前就轻易地求助。你经常会发现,当你知道了解决方法后,你才认识到,你用自己的力量本也能解决这个问题的。当然,在一个问题上自己死卡几天也是没有必要,完全是浪费时间~
2、程序员三大特质之学无止境
在有些行业,你也许很多年不学新的东西也能干的很好,但软件技术革新的如此之快,你不能不时刻关注。虽然一套新东西的成熟也需要一个过程,但是他的成长速度确实很快的.
在你现在的公司找到能够让你学习的人.在复杂的问题上,他们能够给你不错的意见或改进,那么,你这这里就有着成长的空间.但是你同时也要学会谦虚.
如果在你的周围你不能找出一个能作为你的导师的人,这要么是你还没有认真的寻找,要么是你留在了一个不该留的公司里。 如果你在现在的工作上不能学习进步,那是到了你该换个工作的时候了。
3、程序员三大特质之学会分享
可以说程序员遇到问题的时候,首先想的就是网络,因为网络上基本上可以找到你的解决办法,这就是程序员群体学会分享的强大性.同事的上一家公司是这样的,知识不共享、相互保密、相互提防。
在这样的环境里,员工之间不自主的形成了一种恶性竞争的关系,这直接导致了勾心斗角和诬陷中伤的产生。
⑥ 一名优秀的程序员必备的素质
一个好的程序员必备条件之一就是严谨的思维
1、养成良好的书写代码的习惯,该加注释的时候一定要加注释,该大写的地方一定要大写,变量命名不能模糊不清。这是基础,是为了让别人能看明白你所写的代码,不能你写的代码只有你自己才看的明白。
2、注意所写软件的版本控制。
3、勤奋学习最新的技术,计算机技术日新月异,这点我不说相信你也知道。
4、养成写开发文档的好习惯,再接到一个项目时,第一件事情是进行需求分析,然后写开发文档,把你每一步要做什么都先写清楚,再动手做。
5、不要怕技术难题,在计算机领域,只有不能解决难题的人,没有人解决不了的难题。
6、虚心象他人学习,即使技术实力比你差很多的人,也肯定会知道一些你所不知道的技术点。
⑦ 程序员必备软件有哪些
每个资深程序员都有一套属于自己风格的软件集合,巧妙地使用编码工具可以带来想不到的惊喜效果,不仅能让工作变得更加有趣,还能大大提高工作效率。废话不多说,赶紧为还在奋战的程序员小伙伴们奉献这一套史上最全的软件清单。好处不再费口舌,自己慢慢体会。
1.Navicat 数据库管理工具
1.Beyond Compare文件对比
3.MindManager思维导图
4.文本编辑器三剑客
(1)notepad++是适用于Windows操作系统的文本编辑器,可以用来制作一般的纯文字说明文件,所见即所得功能、语法高亮、字词自动完成功能都是值得点赞的功能。
(2)Vim是从 vi 发展出来的文本编辑器。主要功能有代码补全、编译及错误跳转等,针对于程序员做了诸多的优化,所以在程序员中使用广泛。
(3)Emacs是着名的文本编辑器,被公认为是最受专业程序员喜爱的代码编辑器之一。拥有极强扩展性的编程语言,具有编程、编译乃至网络浏览等功能。
5.Dash
⑧ Java程序员必备的开发工具有哪些
一、Eclipse
Eclipse做为一款开发源代码的Java扩展性开发平台,是行业内半数Java开发人员都会选择的开发工具。Eclipse的基本工作流程包括:工作台、工作空间和视角三个方面。Eclipse不仅能够给Java程序员提供关于代码完成、重构和语法检查等帮助,而且使用起来灵活、方便利用各种Eclipse包含的各种插件工具开发各种Java应用。
二、IDEA
DEA是业内被认为最好的Java开发工具之一。作为一款综合的Java编程环境,IDEA提供了一系列具有实用性的工具组合,可支持Ant、GIT、JUnit、J2EE、SVN等集成,还可以实现智能编码辅助、自动控制。从开发效率和运行速度方面来讲,IDEA完美的将Java程序员从费事耗力的常规工作中解放出来。
三、Git
作为一款免费、开源的分布版式控制系统,Git可用来处理任何大小项目,且能够达到快速、高效标准。Git通常被分为两个类型的标签,一个是“轻标签”另一个是“署名标签”。“轻标签”类似于一个分支,运用起来十分简单。而“署名标签”作为一个真正的git对象,既包含想要标记状态的指针,而且还具有标记名和信息,以及可选择的PGP签名。
四、FindBugs
FindBugs的主要作用是分析Java代码中的问题,Java开发者可以毫不费劲的找到代码中存在的缺陷。可以说,是一款必不可少的静态扫码工具。需要注意的是,FindBugs仅仅是一个工具,作为一名优秀的Java开发人员不可过度依赖FindBugs,要在编程过程中尽量避免bug的出现。、
五、Jcreator
Jcreator是专注于Java程序设计的集成式开发环境。具有小巧、易用、美观等优点,是适合Java初学者的IDE。不仅可以支持JSP、Ant、CVS,还可以进行无限撤销、自动类库方法提示、代码缩进等功能。
六、Navicat
Navicat是Java程序员必备的工作伙伴,能够有力的简化数据库的管控、降低数据库成本,使用户界面更加直觉化。此外快速高效、价格便宜是Navicat的另一优势。也正因为这些优势,受到世界各大企业、政府、教育机构的喜爱。
七、UItraEdit
UltraEdit是初学者们非常喜爱的一款开发工具。可以为Java、C/C++、VB、HTML、Perl进行语法着色。它不仅具有查找、替换、复制、粘贴、剪切、格式控制等编辑功能,而且可以配合Java的编辑器和解释器,直接进行Java程序的编辑和运行。
⑨ 程序员需要具备的基本技能,你都知道吗
下面是程序员所应该具备的基本职业技能:
基本技能 技能描述
阅读代码 这个技能需要程序员能够具备读懂已经存在的代码的能力,这样的能力可以让程序员分析程序的行为,了解程序,这样才能和开发团队一起工作,继承维护或是改进现有的程序。
编写程序 编写程序并不包括程序设计。不要以为编程是一件很简单的事情,很多程序员都认为编程只需要懂得程序语言的语法,并把设计实现就可以了。但是这离编写程序还远远不够,使用什么样的编码风格成为编写程序员最需要具备的基本技能。能否使用非常良好的编程风格直接决写了程序员的级别。
软件设计 这一能力直接决定了需要吏用什么样的代码技术达到怎么样的功能,而系统架构设计直接决定了软件的质量、性能和可维护性。并不是所有的程序在这一方面都非常优秀,但每个程序员都需要或多或少的明白和掌握这一基本技能。
熟悉软件工程 每个程序员都应该明白软件工程是什么东西,都应该知道,需求分析 设计,编码测试,Release和维护这几个阶段。当然,几乎所有的人都知道这些东西,但并不是每个人都很清楚这些东西。现在很多高级程序员都会混淆“需求规格说明书FS”和“概要设计HLD”。另外,程序员还需要知道一些软件开发的方法论,比如:敏捷开发或瀑布模型。
使用程序库或框架 一个程序员需要学会使用已有的代码,无论是标论的程序库,或是第三方的,还是自己公司内部的,都需要学会做。比如:C++中,需要学会使用STL,MFC,ATL,BOOST,ACE,CPPUNIT等等。使用这些东西,可以让你的工作事半功倍。
程序调试 程序调试是分析BUG和解决问题最直接的能力。没有人能够保证程序写出来不用调试就可以运行正常 也没有人可以保证程序永远不会出BUG。所以,熟练使用调试器是一个程序员需要具备的基本技能
使用IDE 学会使用IDE工具也会让你的工作事半功倍。比如,VC++,Emacs Eclipse等等,并要知道这些IDE的长处和短处。
使用版本控制 一定要学会使用版本控制工具,什么叫mainline/trunk,什么叫tag,什么叫branch,怎么做patch,怎么merge代码,怎么reverse,怎么利用版本控制工具维护不同版本的软件。这是程序员需要明的的软件配置管理中最重要的一块。
单元测试 单元测试是每个程序都需要做的。很多单元测试也是需要编码的。一定要学会在xUnit框架下进行单元测试。比如JUnit, NUnit, CppUnit等等。
重构代码 每个程序员都需要有最基本的能力去重构目前已有的代码,使代码达到最优但却不能影响任何的已有的功能。有一本书叫《软件的重构》 每个程序员都应该读一下
自动化编译 程序员需要使用一个脚本,其能自动化编程所有的工程和代码,这样整个开发团队可以不停地集成代码 自动化测试,自动化部署,以及使用一些工具进行静态代码分析或是自动化测试。
当然,还有很多的基本技术也是非常重要的,比如,与人的沟通能力,语言的表达能力,写作能力,团队协作能力,适应变化的能力,时间管理能力,多任务处理能力,自我学习能力,故障处理能力,等等,等等,这里只是列举了和技术相关的能力,这些是程序最最最基本的能力,只要是程序员就必需要有的能力。
⑩ 有哪些it程序员的必备神器
URL Decoder/Encoder:https://meyerweb.com/eric/tools/dencoder/ 特别实用的一个用来处理URL编码和解码的小工具,你甚至可以直接将这个页面的源代码保存下来,这样不需要连接上网也可以离线使用。附送的一个隐藏功能就是当你从任何地方拷贝信息过来的时候,它会自动去除拷贝过来的格式化信息,小编自己基本上每天都会使用这个小工具复制粘贴各种信息。
iTerm2是一款完全免费的开源软件,可以完全替代MacOS的终端。iTerms功能强大,使用方便,可以让你轻松且高效地管理和定制化你的工作流程。iTerm2的一些特色功能包括:标签变色,智能选中,自动补齐,全屏展示所有的 tab并支持搜索(Exposé Tabs),丰富的快捷操作等。
Textpad这款工具具有无限制的撤销/重做功能,并且能够编辑超大文件,文件上限是系统虚拟内存大小。
Octotree:https://www.octotree.io/Github是目前使用最广泛的版本控制工具,然而通过浏览器访问Github的体验并不是那么友好,特别是当我们需要不断地访问不同文件夹里面的文件的时候。Octotree正是这样一款浏览器插件,它提供了类似IDE的便于访问的代码目录树,能够提高我们在Github上工作效率。
Wireshark:这个工具可以用来监控机器上的TCP、HTTP等各层级的网络通信。作为后端开发,如果想看前端发来的请求到底都包含了哪些信息,又没有前端的调试环境的话,使用Wireshark监控HTTP请求是很好的解决方案。自己在程序中发HTTP请求时,也可以使用它来检查发出的HTTP请求是否符合自己的预期。
Mermaid:这个工具可以使用脚本语言直接渲染出流程图、时序图、甘特图,写文档简单快捷。免拖拽,免排版,格式控制统一。脚本也便于存放修改,样式可以复用。还可以使用插件集成如Markdown编辑器,进行实时预览。
spectacle:Mac free source 窗口控制工具,拖拽窗口到屏幕边缘resize,也可以自定义快捷键。用起来跟Windows上面一样。相比较于Moom,SizeUp,Divvy,spectacle支持鼠标拖拽到边缘resize,非常便利。
Tmux:一个虚拟终端可以管理多个会话,窗口和面板。执行 tmux 命令时就开启了一个服务并创建了一个会话,窗口和面板。支持分屏,同时处理多个操作。不受断网影响,避免丢失重要工作进度。方便演示与协作,支持结对编程。
Caniuse:https://caniuse.com/#home 通过这个网站,用户能够查询主流浏览器特定版本对HTML,CSS和JS的支持情况。并且最重要的是它“免费”!
Visual Studio Code:这是微软出品的IDE工具,跨平台(Linux,Mac,Windows)。轻量级内存占用,品质稳定且免费。同时内置Git版本控制功能。值得一提的是插件生态丰富,安装插件简单,通过插件可以增加更丰富的语言支持、主题定制、文本自动格式化等能力。