玩的人比较多的,手机玩火山小视频用什么软件软件有些?

为什么我看不懂你的代码
“我到底在想什么?!?”
凌晨1:30分,我正盯着不到一个月前我写的一段代码。当时它看起来像是件艺术品,全部是可理解的,优雅、简单、让人叹为观止。这一切都不再了,明 天是我的最后期限,数小时前我发现了一个bug。当时看起来的简单和逻辑再也说不通了。可以肯定的是,如果我写代码,我应该足以聪明到理解代码?
经过了多次这种经历以后,我开始认真思考,为什么我的代码在我编写的时候很清楚、而当我数周或数月后回头看的时候,它们却那么费解。
问题1,过度复杂的逻辑模型
为了理解当你间隔一段时间返回到你的代码、却发现代码难以理解的第一步,就是理解我们如何从心智上建立问题模型。你写的几乎所有代码都是尽量解决现实世界的问题。在你写代码之前,你需要理解你正试图解决的问题。这常常是编程里最难的一步。
为了解决现实世界的问题,我们首先需要形成该问题的心智模型【注1】,以此作为编程意图。接下来你需要形成实现编程意图的方案模型,我们姑且称为语 义模型(semantic model)。从来不要混淆你的编程意图和此意图的方案。我们倾向于主要考虑方案方面的东东,而常常忽略意图的模型。
你接下来的步骤是形成可能最简单的语义模型。这是容易搞错的第二步。如果你不花时间去真正理解你正试图解决的问题,你将在写代码时被绊倒在模型上。另一方面,如果你真正考虑了你正尽量做的事情,你经常得到一个非常简单的模型,这足以让你掌握最初的意图。
如果你想容易地维护简单的代码,就尽可能多些地消除意外的复杂性。我们正试图解决的问题是足够复杂的。如果你不必那么做,就不要把意外的复杂性增加进来。
问题2,笨拙的把思想转化成代码
一旦你尽全力形成了最好的语义模型,那么就到了把它转化为代码的时候了。我们称之为句法模型(syntactic model)。你正试图把你的语义模型的意义转化为计算机能够理解的句法。
如果你有非常不错的语义模型、而在转化为代码时搞砸了,那么在你需要在以后某个阶段回头修改代码时,你将比较痛苦。当你脑子里还有语义模型时,把你 代码映射到语义模型是容易的。回忆起变量“x”实际上代表一条记录被创建的日期、而“y”代码记录被删除的日期,这是不难的。当你3个月后再回来看代码, 你的脑子里将没有这个语义模型了,因此无法理解同样的变量名字。
把语义模型转化为句法的任务就是尽量多地留下线索,让你在今后返回时,能够重建当初的语义模型。
好了,你该怎么做呢?
类结构和命名
如果你在使用面向对象语义,请尽量让你的类结构和命名靠近语义模型。领域驱动设计(Domain Driven Design)【注2】是在这种练习上投入了相当重要性的一种运动。即使你没有相信完全的DDD方法,你也应当非常小心地考虑类结构和命名。每个类都是你 留给自己和其他人的线索,它帮助你在将来返回的时候重建你的心智模型。
变量、参数和方法命名
尽量避免普通的变量和方法命名。不要把方法命名为“Process”,因为“PaySalesCommision”更有意义。不要把变量命名为 “x”,因为它应当是“currentContract”。不要把参数命名为“input”,因为“outstandingInvoices“更好。
单一功能原则(Single responsibility principle,简称SRP)
SRP【注3】是面对对象设计原则的核心之一,关联着好的类和变量命名。它认为,任何类或方法都应该完成一个单一的功能,只能是一个单一的功能。如 果你想为类和方法给出有意义的名字,那么它们需要有一个唯一的较好定义的目的。如果一个单一类从数据库读和写、计算营业税、通知交易客户并生成账单,那么 你就可能无法给出合适的名字。我常常停留在重构类上,因为我总是努力取一个足够短的名字,以描述它做的每个功能。为了更多地讨论SRP和其它面向对象原 则,可以参考我的博文《》。
适当的注释
如果因为某种原因,你不能让代码变得清晰,你同情将来的自己,需要不得不做些事情,那就留下注释来说明你为什么不得不那样做。注释倾向于快速地变得陈旧,因此我宁愿尽可能让代码自描述,注释用来说明为什么你不得不那样做,而不是它如何做。
问题3,没有足够的组块
心理学上的组块被定义是,把信息组块定位为单一的实体。那么这该如何应用到编程上呢?作为一名开发者,在你积累经验时,你开始发现你解决方案里反复 出现的模式。极具影响的设计模式:《可重用的面向对象软件》是第一本整理和解释一些模式的书。尽管如此,组块不仅仅用在设计模式和面向对象。在函数式编程 (FP)里,存在大量的著名标准函数具备这同样的目的。算法是组块的另一种形式(后续会更多)。
当你合理地使用组块(设计模式、算法和标准函数)时,它让你停下来思考,你编写的代码是如何运行的、而不是考虑它做了什么。这缩短了你的语义模型(你的代码)和句法模型(你脑子里的模型)的距离。这个距离越短,你就越容易重建你的心智模型。
如果你有兴趣了解更多FP里的函数,请移步到。
问题4,费解的用法
目前,我们主要讨论了如何结构化你的类、方法和变量命名。心智模型的另一个重要部分是理解这些方法应该怎样被使用。再次强调,当你最初形成心智模型 时,这是相当清晰的。当你后来返回时,就非常难以重建你的类和方法的、所有有意图的用法了。通常这是因为不同的用法散布在你的程序其它地方。有时候甚至出 现在很多不同的项目中。
我就是在这种情况下发现测试用例是非常有用的。除了相应地知道一个修改是否破坏了代码的明显好处,测试为你的代码提供了一整套的用例。你不必搜遍100个文件,只需看测试就能得到引用的全景。
注意为了达到这个目的,你需要有一整套完整的测试用例。如果你的测试仅仅覆盖了一部分、而你认为测试是完整的,那么你后来将陷入困境。
问题5,不同的模型之间没有清晰的途径
你的代码从技术角度看,常常是优秀的、非常优雅,但是从程序意图到语义模型、再到代码存在非常不自然的跳跃。考虑你选择的一堆模型的透明性是重要 的。从程序意图到语义模型、再到代码的过程需要尽可能平滑。你应当能够看透对应到问题的每个模型的所有方面。多数情况下,最好选择特定类结构或算法不是为 了它在隔离方面的优雅,而是可以连接各种模型,为你重建的目的而留下 一条自然的途径。当你从抽象的编程意图走到具体的代码时,你做的选择应该受到 你能够表现更为抽象模型 的清晰度驱使。
问题6,发明算法
作为程序员,我们经常认为,我们在为了解决问题而发明着算法。事实很难是这样的。几乎所有情况下,已经有现成的算法可以被组合在一起解决你的问题 了。像最短路径搜索法、字符串相似度算法、粒子群算法等。大部分编程是以正确的组合、选择现存算法来解决你的问题。如果你正在发明新算法,那么,要么你不 知道合适的算法、要么你正忙于你的博士论文。
最后总结:作为一名程序员,你的目标是建立能够解决你问题的、尽可能简单的语义模型。把语义模型尽可能靠近地转化为句法模型(代码),尽可能多地提供线索,便于你之后无论哪个人看你的代码,都能重建像你最初脑子里的、相同的语义模型。
设想一下,当你走过你代码的被照亮的森林时,你在身后留了面包屑。相信我,当你需要找到回去的路时,森林将充满了黑暗、朦胧和不详的预感。
听起来容易,实际做起来是很难的。
原文地址:
注1:心智模型是用于解释个体为现实世界中之某事所运作的内在认知历程。
注2:要通过创建领域模型来加速复杂的软件开发,就需要利用大量最佳实践和标准模式在开发团队中形成统一的交流语言;不仅重构代码,而且要重构代码底层的模型;同时采取反复迭代的敏捷开发方法,深入理解领域特点,促进领域专家与程序员的良好沟通。
注3:马丁把功能(职责)定义为:“改变的原因”,并且总结出一个类或者模块应该有且只有一个改变的原因。一个具体的例子就是,想象有一个用于编 辑和打印报表的模块。这样的一个模块存在两个改变的原因。第一,报表的内容可以改变(编辑)。第二,报表的格式可以改变(打印)。这两方面会的改变因为完 全不同的起因而发生:一个是本质的修改,一个是表面的修改。单一功能原则认为这两方面的问题事实上是两个分离的功能,因此他们应该分离在不同的类或者模块 里。把有不同的改变原因的事物耦合在一起的设计是糟糕的。
原文出处:
转载请注明:文章转载自 开源中国社区
本文标题:为什么我看不懂你的代码
本文地址:
引用来自“欣儿”的评论一个月后都不知道自己写的神马? 一点问题都没有。通过方法、变量名分析上下文,直接可以知道了。至少我是这样。最长半年的线上业务没动,需要改动时,也不会有问题。
引用来自“BaiYang”的评论同意,注释确实很重要。我写的代码注释率基本在 35% - 45% 之间,底层平台高些(45% 左右)。上层产品低些(35% - 40%)。但是注释率不能直接成为硬性标准:乱写的或无脑的注释还不如没有注释。我们的注释率如此高的原因是详细设计文档都以注释的形式存在。引用来自“so伍”的评论这个其实也要分产品属于什么行业领域,我所在的是银行金融,业务逻辑全部都由子程序实现,底层代码只实现框架支撑,子程序的业务逻辑描述至关重要 理解,没掉过坑怎么能理解到这些呢?
引用来自“Greatim”的评论这肯定是个讨骂的要求吧。一个是,四分之一,这标准没办法衡量,各人估算不同。另外要求有注释,注释对不对是个问题,过时的注释,或者无用的注释不如没有。变量名和函数名其实很好检查,还有常数名。可以提出规范,常数必须声明在哪里,方便检查。这样比要求多少注释好多了,在别人眼里,你随便一个要求,别人去做,跟你跟他们一起去完成协定,两种感觉是不同的。引用来自“古城痴人”的评论看没有注释的代码真是地狱啊,没文档,没注释,代码可维护性会极低。我现在是一边改程序,一边补注释。引用来自“Greatim”的评论读过《代码大全》就理解了,注释是要有,但是与代码自解释相比,放在其次。注释提供最简要的信息,而且不能太细,尽量控制在代码小改动之后,不需要改注释的程度。不要对代码自解释很清楚的代码注释,这样会减慢读代码人的速度。引用来自“淡定的wo”的评论代码自解释的路过,一般不写注释。除非代码过于复杂或特殊时。读过《代码大全》几遍,收获很大。我觉得也不能都按书上说的来,讲代码的书看过一大堆,但是写程序时还是有一些自己的体会,自解释性强的命名一般都比较长,对于非英语母语的人来说非必很容易理解。另外对于业务类的代码,代码本身无法解释业务,经常需要文字来说明某个流程,为什么在这个位置需要调用这个方法,使用这个算法。通常我写程序时会先写注释,用注释把业务能描述清楚后,再把注释下面的代码补充完整。
引用来自“欣儿”的评论一个月后都不知道自己写的神马? 看得懂,看不懂,都无所谓,所谓的是为了写注释而写注释的,我只能说我做不到。
引用来自“BaiYang”的评论同意,注释确实很重要。我写的代码注释率基本在 35% - 45% 之间,底层平台高些(45% 左右)。上层产品低些(35% - 40%)。但是注释率不能直接成为硬性标准:乱写的或无脑的注释还不如没有注释。我们的注释率如此高的原因是详细设计文档都以注释的形式存在。这个其实也要分产品属于什么行业领域,我所在的是银行金融,业务逻辑全部都由子程序实现,底层代码只实现框架支撑,子程序的业务逻辑描述至关重要
引用来自“BaiYang”的评论同意,注释确实很重要。我写的代码注释率基本在 35% - 45% 之间,底层平台高些(45% 左右)。上层产品低些(35% - 40%)。但是注释率不能直接成为硬性标准:乱写的或无脑的注释还不如没有注释。我们的注释率如此高的原因是详细设计文档都以注释的形式存在。也是无奈之举,现在毕业生直接进项目组,让他们自己学会判断的话,时间成本是很恐怖的,而且无法确定他们会不会真的去领悟,大部分三年之内的员工只知道多写几行代码,不知道做些有边缘效益的事情
引用来自“御风林海”的评论说起命名规范,那叫100个蛋疼,我的同事都用拼音命名。。拼音也是无奈之举。。。比如表外挪用利息这种没有专业名词解释的,想名字半天也是够纠结的。。。
引用来自“BarneyWang”的评论PM也配检查代码说点不好听的 你懂哥JB好歹是有高级软件工程师职称的
引用来自“Greatim”的评论这肯定是个讨骂的要求吧。一个是,四分之一,这标准没办法衡量,各人估算不同。另外要求有注释,注释对不对是个问题,过时的注释,或者无用的注释不如没有。变量名和函数名其实很好检查,还有常数名。可以提出规范,常数必须声明在哪里,方便检查。这样比要求多少注释好多了,在别人眼里,你随便一个要求,别人去做,跟你跟他们一起去完成协定,两种感觉是不同的。也不算是,至少后期维护的难度小多了,这是要考虑组织利益成本的
一个月后都不知道自己写的神马?
没关系, 把他开除就行了
同意,注释确实很重要。我写的代码注释率基本在 35% - 45% 之间,底层平台高些(45% 左右)。上层产品低些(35% - 40%)。但是注释率不能直接成为硬性标准:乱写的或无脑的注释还不如没有注释。我们的注释率如此高的原因是详细设计文档都以注释的形式存在。
说起命名规范,那叫100个蛋疼,我的同事都用拼音命名。。
引用来自“Greatim”的评论这肯定是个讨骂的要求吧。一个是,四分之一,这标准没办法衡量,各人估算不同。另外要求有注释,注释对不对是个问题,过时的注释,或者无用的注释不如没有。变量名和函数名其实很好检查,还有常数名。可以提出规范,常数必须声明在哪里,方便检查。这样比要求多少注释好多了,在别人眼里,你随便一个要求,别人去做,跟你跟他们一起去完成协定,两种感觉是不同的。引用来自“古城痴人”的评论看没有注释的代码真是地狱啊,没文档,没注释,代码可维护性会极低。我现在是一边改程序,一边补注释。引用来自“Raphael_goh”的评论一般情况下,一个方法的代码长度只要平均不超过10-15行 几乎不写注释都可以,除非有调用了一些特殊的 会引起争议的方法,需要特别说明原因。对于过长的代码,尽量通过重构,分离不必要的细节等等,函数名、变量名有规范,再加上API注释(JavaDoc之类的),基本上都可以实现代码的自解释。对于多余的注释经常会带来反效果。太过依赖注释而不注意代码的规范才是真的灾难
引用来自“dwcz”的评论轮子发明多了,才能知道那个是好轮子。问题是,发明轮子的少,抄轮子的多。
轮子发明多了,才能知道那个是好轮子。
这就是为什么程序员是&屌丝&, 自以为是, 其实什么都不是.这种简单粗暴的办法永远是最有效的, 支持新手求教,php源码里面是乱七八糟的内容看不懂怎么处理 - PHP当前位置:& &&&新手求教,php源码里面是乱七八糟的内容看不懂怎么处新手求教,php源码里面是乱七八糟的内容看不懂怎么处理&&网友分享于:&&浏览:0次新手求教,php源码里面是乱七八糟的内容看不懂怎么办本人是做java的因为需要修改某一个php项目,网页上能看到是js加html代码,但是打开源码发现根本看不懂,求教怎么办。
&?php&//0035e
if(!extension_loaded('ionCube&Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='/ioncube/ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)&1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__if(file_exists($__oid.$__lp)){$__ln=$__}}}@dl($__ln);}else{die('The&file&'.__FILE__."&is&corrupted.\n");}if(function_exists('_il_exec')){return&_il_exec();}echo('Site&error:&the&file&&b&'.__FILE__.'&/b&&requires&the&ionCube&PHP&Loader&'.basename($__ln).'&to&be&installed&by&the&site&administrator.');exit(199);
4+oV57h7Qy3nd53ec0B+usatfFzI/hfmKW3wbTiPSfDqg5+N2zU8gkkbqE6AxIHcEcMoiRTdPhMI
TOxKUCOX/rfkDdstV1PBsLkUBc+7Mh1iS85efNKL3kZbjuCiNl1V6cOfGBjwppIwByICkR9Z+cCl
xsxLbda/oEOsLNUWvqkaJIbRhehw5Y9JscamYMBN8Yy1j3rCK4Rkq0+oUwWEOGq46qswnoNSrzaa
BhLDUOjJsVSimC/SiZSveuWbUpgSb53F/g9sGXO7RH4ePAGDKajhKvlLVMqjnKy0O/+NzOJ5RVx2
2YFYGOG73x+J0gog9OvSTClNwhDc9OwLwUE/Zv9unWQLVl82oUauEEXlvg2s2wUd+8r4mXnSt4u0
pTkadXnqL3isFLSiT13NWfNKbm2t75WLm1ZBqo/5/vHxpOeZlveB+pIFVby7lbGu3vESA8lByya7
M/+15foF8B0O9pMFrfhTahje/9SjD2wfhyV+92S/IykIH4HYR8K9M95h/KcLgTzpmTSFN/IpBwSt
MTz1KRwoSthlzGkDSQry2H16CyhN1TuHxPShWh1sj3sI01A0/PQwrHYTv0+Mh++lnaneguDJ2Uc4
nnvHHXOQHcgjwIMqMqgamxI/mt9g/qaGMUKbAoI7e0EIle0DVVmUIa6zA/2SwkCoEj/D6cKUDh0t
qlkOY7mlKyTJXGrT3sZ5H4ajZ9irjoMfO6ZeIL2VColc2Ckv/8D0p81NWCoDJxZHSogwbpxL0qQt
tURkIpR61gjJc7MIjYZSn8+BaIxYV/fg+Lp+u9dWKw6vpDDicnvo6COIclNvpVLgyl7G4sMJz1mm
19+S7hh0qmn8fYKVqujAymxeYFmgAuAIEcaYLmn2bsIMzPIaWGrNX/VApjwUhXockQEluKkPSbuB
dtjh7+SECrOUr0w9ccegMgROuT3cmypZ8tEVi8QX737cXsmNzIFQsmj77w7D1Lat96kn5zfypF7f
1hqRMGuqKXsigSIr9yoNCzFMdMbWbQL+lNtTthbg4wAwZSjlzKBVdsvvDuLSmgHvD1z/0uaBmyj2
dcJhpX/fJfnSwz3qD3TaCvOMam2Q7c/Vmk4XHgp6WKdOTJA+O/CcEOn3G+VDqt6Gn0W0isHj7VqQ
audicmjQuPHptQcqCfKPAcCrFzADCacuybuSI/QEjTifgNJStg3w8wmJAiHq1/sheZ6uKGJ+h3av
Y/bs6kOMaEnUo20XS9gJfyUj+tHTq1gYMS9ex2nMbcyICbOvwr9X4e3bJPh0W013TSaJhuTODTwx
936bXzpYPVVrPq0wSkFKHTUfpphndAaL6eSzSO0IWcAsHmvxbiHoJJXvbBZpeZlX6euSeD60QoQ3
全是这样的内容------解决思路----------------------这是&ionCube&加密的,不能解密------解决思路----------------------试试这个
http://www.jb51.net/article/24362.htm
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有本人现在正在自学html求教几个简单的问题。_html吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:86,433贴子:
本人现在正在自学html求教几个简单的问题。收藏
我在w3c看了几篇html的教程。第一,我自学,不知道自己是什么程度,这一课的内容学精没有。第二,发现很多标签好难记,记不住。第三,编写html的时候应该怎么放先后顺序?哪些该用引号?哪些该在&&这个符号里面,哪些该在外面?。。。求大神指点迷津
html5怎么学习软件开发培训,汇道html5培训,「大专以上」学员,0元入学,一周免费试听!html5怎么学习软件开发培训,汇道html5教育培训,学成高薪就业,先就业,再付款!
第一、通过做一些东西可以来测试你掌握没有所学习的内容。第二、html语言有很多标签,不一定所有的都用得到,也不需要死记硬背,在平常的学习过程中可以加深记忆。第三、编写html首先要了解html 的构成,在这些构成的基础上在进行其他的操作,引号是用在&&标签里面的属性上。
初学者都会有这样的心病,好像总是想找到一个固定的模式来编写代码。实际上不存在,代码是千变万化的,只要遵循语法规范,其它的可以随意发挥。当然,发挥得好的看起来会比较漂亮,性能也比较高,但那是在你自己多次尝试之后总结出来的经验,想一步跨到是没有前途的。
还有我是在手机上学的 下了个HTML代码编辑器
然后用流量在W3C网校上看HTML的入门基础(有些我都看不懂),,,在手机上 这样做和电脑上相比有什么不好的影响没的?
&h1&哦,我跟楼主也有一样的问题.&/h1&&p&我现在也是一窍不通,初学阶段.&/p&另外问下,每个文本的开头都必须一定要&html&&/html&的吗?
如果是新手还是找个视频看看,w3shool还是个手册性比较强的网站。既然学了就要学的标准,无论写多少,哪怕只写一句代码, DOCTYPE &html&&head&&/head&&body&&/body&&/body&&/html&一个都不能少养成好习惯,尤其DOCTYPE会导致浏览器兼容问题,一定要写好。没写也可能没有问题,但不代表你写对了。养成好习惯很重要啊!新手愚见
LZ 我有有教员发的PPT 你可以借鉴下
你下个 Dreamweaver 软件把 编写时 基本代码 给你写好
有代码提示!!
其实对于你的这种情况我很理解,我也是这学期自学的html,不过现在简单的网页可以自己写了。我就是在边学边练,在书本上看见每一个标记或者功能,我就自己加强练习,有时间了在复习一下,最后老师让我们自己写网页,我就自己写了,而且帮别人写了一份,感觉不难,难的地方在css和javascript
这个看你用到那种程度了,我们要求至少学会看懂它,学会修改
阿里云汇聚海量精美网站模板,3分钟快速建站,服务流程全程监管,价格低至88元网站模板包含主机空间及流量,满足客户自助建站的需求
刚刚理解了 标签什么的,也有DW
但是不知道怎么才能理顺一下,
代码这东西不用就忘了,以前在大学时学了,好久没用就又还给老师了
直接用手打!不用任何软件!用文本文档打出来!打上一个月,就记得差不多了!
楼主,同道中人哪。。
呵呵楼主我从接触html到现在总共半年时间。现在已经学到javascript了。当初也和你一样。没什么坚持再坚持。
我原来在公司的电脑是自己弄了个HTML,现在不干了,我也是瞎玩弄的,现在不干了,我想知道,我该怎么才能用自己的电脑继续做呢?谢谢
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 玩火山小视频用什么软件 的文章

 

随机推荐