OOP与程序化编程 - 页 27 1...202122232425262728293031323334...48 新评论 Georgiy Merts 2017.08.15 05:28 #261 Реter Konow: 在函数式程序设计中,你所描述的访问问题并不存在。没有重载函数,没有字段和对象,没有指针之类的东西,当你只有一个内存用于所有全局变量,你可以从任何地方访问,怎么可能调用错误的函数?可能会发生什么样的访问错误?而且,要记住所有的东西就容易多了。最简单的错误是引用了错误的变量,包含一个价值接近的值。 这样的错误可能在很长一段时间内都不会被发现,但根据吝啬法则,在这个地方非常需要没有错误的工作的时候,它就 "突然出现 "了 而这将是哦很难搞清楚的......你试图理解为什么专家顾问在一个良好的趋势中关闭了一个交易,而TS不应该关闭它--你不能理解。一切似乎都在正常工作。 这正是最令人不快的错误之一--不初始化变量,或寻址错误,但按数值接近。而在程序的这个或那个部分,变量越多--出现这种错误的概率就越大。 是的,当然,如果你有一个全局可访问的图形核心,并且你与订单一起工作,访问错误的变量真的很困难。但在一个较早的区块中,你检测到开立订单的必要性,并为此目的和可能根据用户的行动解决指标--很有可能将变量混淆。如果有更多的结构,并且重要的细节定期从内存中消失--你会得出结论,全局访问--是一个问题的来源,你应该不惜一切代价避免使用它。而且,代码的编写方式应该是让你尽可能少地记住。理想情况下,不要在内存中保留任何东西--每个块都有一个名称,表明它的功能,在输入端,它接收这个功能所必需和足够的数据,剩下的就是实现这个功能,而不涉及任何其他 "来自外部 "的知识。 Реter Konow 2017.08.15 05:53 #262 George Merts:这是一个简单的错误--引用错误的变量,包含一个价值接近的值。 这样的错误可能在很长一段时间内都不会被发现,但根据吝啬法则,在这个地方非常需要没有错误的工作的时候,它就 "突然出现 "了 而这将是哦很难搞清楚的......你试图理解为什么专家顾问在良好的趋势中关闭了一笔交易,而TS不应该关闭它--而你却不能。一切似乎都在正常工作。 这正是最令人不快的错误之一--不初始化变量,或寻址错误,但按数值接近。而在程序的这个或那个部分,变量越多--出现这种错误的概率就越大。 是的,当然,如果你有一个全局可访问的图形核心,并且你与订单一起工作,访问错误的变量真的很困难。但在一个较早的区块中,你检测到开立订单的必要性,并为此目的和可能根据用户的行动解决指标--混淆变量是很真实的。如果有更多的结构,并且重要的细节定期从内存中消失--你会得出结论,全局访问--是一个问题的来源,你应该不惜一切代价避免使用它。而且,代码的编写方式应该是让你尽可能少地记住。理想的情况是--不在内存中存储任何东西--每个块都有一个名称,表明其功能,在输入时,它接收该功能所必需和足够的数据,只剩下实现该功能,不涉及任何其他 "来自外部 "的知识。那么,如果它们都有不同的名字,你怎么能调用错误的变量呢?如果一个错误的函数有一个唯一的名字,而且没有重载,怎么可能被调用?在内核数组内,所有的单元格索引都是用人话命名的。这里有什么可以混淆的呢?要明白,你所说的问题根本就不存在。我只在内存中保留内核结构,这非常简单。我也知道对象的属性列表。所有的对象都有相同的属性,只是数值不同。我总共有140个财产,但我只保留了最重要的那些,大约30个。其余的我在需要时才会想起。为了做到这一点,我用定义打开了一个文件,并查看了全部的属性列表。并不复杂。焦点中的全局变量,例如 "OBJECT "或 "WINDOW "根本不需要被记住。而且不可能把它和其他东西混在一起。 我的变量在俄语里有有意义的名字。你只能在狂欢之后混淆视听)。 Реter Konow 2017.08.15 07:21 #263 我的全局变量 是焦点中使用的变量,它们被 "瞄准 "在内核上,并随着光标的移动而移动。 例如:变量 "WINDOW "不断携带光标所在窗口的编号。变量 "OBJECT "是光标所在的那个对象的编号。 我通过它们来处理内核中的特定窗口、对象和属性--G_CORE[WINDOW][OBJECT][_NAME]或G_CORE[WINDOW][OBJECT][_OBJECT_GROUP]。在任何函数中,如果我需要一个物体的X坐标,我从G_CORE[WINDOW][OBJECT][_X]中得到它,如果物体的高度--从G_CORE[WINDOW][OBJECT][_Y_SIZE]中得到,等等。总而言之,我有大约一百个单独声明的全局变量,但在全局内核数组中却有成千上万个,因为数组中的每个单元都是一个变量。然而,管理这个数量的变量非常容易,因为它们是有序的。内核中的每个窗口是一个数组字段;每一行是一个对象,由140个属性组成。在这种情况下,元素是对象的集合。每个元素都有一个主对象,它包含整个元素的主要属性。属于每个元素的对象通过特殊的索引联系在一起,因此无论该对象成为焦点,它所属的元素也会成为焦点。绘制它的画布也是如此。由于内核的显式原型和来自任何函数的直接访问,我可以操作由内核数组单元表示的数以千计的变量,而不会忘记任何东西,也不必在它们周围导航。 Alexey Volchanskiy 2017.08.15 08:43 #264 СанСаныч Фоменко: 一个完全没有意义的对话:没有任何标准可以将代码分类为 "好 "或 "坏"。这就是为什么不清楚OOP的原因。对我来说,这样的标准是代码的可行性,这表现在作者或第三方可以阅读代码并使用它进行修改,在相当长的一段时间后寻找错误.....。在这里,上面的费多谢耶夫取代了OOP开关。这个特殊的例子,也许是不幸的,对我来说,是OOP的恶毒的证明:有100个位置开关的清晰代码被单行取代。要理解这条线路,你必须要去一个地方。这对我来说是不允许的。上面第二个例子是乔治-梅茨的作品当调试后,清除代码被非清除代码所取代。根据我的标准,高质量的代码(易于阅读)被我不能接受的代码所取代。这就是为什么我有一个问题要问所有的OOP支持者:当应用OOP 时,程序会变得更加生动,而Fedoseyev所举的关于切换的例子是失败的,或者相反,Fedoseyev的例子非常准确地描述了OOP,而OOP几乎总是导致生动性的丧失?好吧,在CC那里一切都很清楚。一切高于他理解水平的东西都是不好看的。但他知道R这个字母 )))))))))))))) СанСаныч Фоменко 2017.08.15 10:14 #265 Alexey Volchanskiy: 那么,CC是清楚的。任何高于他理解水平 的东西都是没有 吸引力的。但他知道R这个字母 ))))))))))))))我将添加中文,也许是日文...为什么是巴解组织?为什么会更好呢?可见性是指简化调试、修改。可见性来自于精心的程序设计,来自于结构化的功能,而不是对象,因为整个世界是基于对象的行动,而不是反过来。当分解为功能时,是由输入转化为输出的顺序得出的。例如,只有通过指定一个ACTION,才能将BUY|SELL输入转换为输出。这就是人类思维的运作方式。PS。 关于你对R的评论。你想讽刺一下吗?我很少回答,但我可以。 Georgiy Merts 2017.08.15 11:25 #266 Реter Konow:如果它们都有不同的名字,你到底怎么能调用错误的变量?如果函数有一个唯一的名字,而且没有重载,怎么可能调用错误的函数?在内核数组内,所有的单元格索引都是用人字命名的。这里有什么可以混淆的呢?要明白,你所说的问题根本就不存在。好吧,我有过几个这样的案例。 最常见的是,当你从另一个地方复制一段代码,然后根据当前的区块来 "纠正 "它时,就会发生这样的错误。如果你有全局访问权--你很可能错过改变其中一个变量。如果在这种情况下,你只能访问你的工作内容--那么在复制之后--编译器本身会给你一个需要改变的所有变量和位置的列表。标签 Konow:我的内存中只有内核结构,这非常简单。我也知道对象的属性列表。所有对象的属性都是一样的,只是数值不同。我总共有140个财产,但我只保留了最重要的那些,大约30个。其余的我在需要时才会想起。为了做到这一点,我用定义打开了一个文件,并查看了全部的属性列表。并不复杂。 30处房产? 嗯,这对我来说是不可接受的。不是说我记不住他们,但我不想依赖我的记忆。更好的是,当在每个区块中--你总是有确切的那些变量,在这个区块中应该被处理,而没有对其他变量的访问。 但是,这让我感到压力很大,因为要记住...既然这对你来说并不难--没有必要做不必要的OOP摆弄,这是可以理解的。 Реter Konow 2017.08.15 11:54 #267 George Merts:嗯,我有几个这样的案例。 大多数情况下,当你从另一个地方复制一段代码并 "修正 "它以匹配当前块时,就会发生这种错误。如果你有全局访问权,你很可能错过改变其中一个变量。如果在这种情况下,你只能访问你的工作内容--那么在复制之后--编译器本身会给你一个需要改变的所有变量和位置的列表。30套房产? 好吧,这对我来说是不能接受的。我不是记不住他们,但我不想依赖我的记忆。更好的是,当在每个区块中--你总是有确切的那些变量,在这个区块中应该被处理,而根本没有对其他变量的访问。 但是,这让我感到压力很大,因为要记住...既然这对你来说并不难--没有必要进行不必要的OOP-交易,这是可以理解的。嗯,坦率地说,我记得很多事情。只要看看抢购对象的缩写_X2X, Y2Y, B2B, R2R, H2Y, W2X, Y2H, X2W, C2C等等。每一个都定义了一个物体相对于另一个的位置。这些在参数A1,B1,C1,A2,B2,C2,A3,B3,C3,A4,B4,C4,A5中找到。我还记得几十个对象的类别和子类别的名称,几十个窗口的属性(有100多个)。例如,构建块中有几十个函数,它们占用了4000多行代码。你必须浏览并记住很多东西。但记忆来自于长期的实践,不是一下子,而是逐渐地。我的脑袋曾经因为实体的数量和代码的大小而变得沉重,但后来都被塞进了,变得简单了。 Alexey Oreshkin 2017.08.15 12:02 #268 Реter Konow: 嗯,坦率地说,我记得很多事情。对象参考的缩写_X2X, Y2Y, B2B, R2R, H2Y, W2X, Y2H, X2W, C2C, 等等。每个定义一个对象到另一个对象的某个位置,都是在参数A1,B1,C1,A2,B2,C2,A3,B3,C3,A4,B4,C4,A5...。我还记得几十个对象的类别和子类别的名称,几十个窗口的属性(有100多个)。例如,构建块中有几十个函数,它们占用了4000多行代码。你必须浏览并记住很多东西。但记忆来自于长期的实践,不是一下子,而是逐渐地。我的脑袋曾经因为实体的数量和代码的大小而膨胀,但后来这一切都被淹没了,变得简单起来。为了分散自己的注意力,忘记一切,去度假一个月,不去想代码的事。然后回来,看到所有这些a1、b1等,就会歇斯底里 :) Реter Konow 2017.08.15 12:23 #269 Alexey Oreshkin :分心,忘记一切,去度假一个月,不去想代码。来之后,看到所有这些a1,b1等。并歇斯底里:)例如,这是 proto-core 中的“复选框”元素的样子: _OBJECTS_SET, CHECKBOX, //============================================================================================================================================================================================================================================================================================================================================================================================================================================ //------------T------X----Y----W-----H----B_TYPE-- MOB---PXL-----------G-----C------SG---SC--OBJSCR--NEUTRAL-----------A1--B1--C1-----------A2----B2--C2----------A3----B3--C3--------A4--B4--C4-------OBH--OBI--C5--D5--E5--------------------------------------------------------------------------------------------------------------ACT-STATUS--CURRENT-----CURRENT---LAST-------------------------------------------- //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //Основание чекбокса-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- _NEW_OBJECT, 5 , 0 , 0 , 200 , 17 , _STRIP, _CNVS, 0 , _aq1,CHECKBOX, 0 ,_MOB, 0 , _aq1, _NS_gr1, A1, _C2C,_CNVS, 0 , A2, _C2C,_CNVS, 0 , A3,_W2T, _aq3, 30 , A4, 0 , 0 , 0 , A5, 0 , 0 , 0 , 0 , 0 , A6, 0 , A7, 1 , _aq1, CHECKBOX, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , A8, 0 , 0 , 0 , A9, _OBJECT_RELEASED, _NS_gr1, 0 , 0 , 0 , 0 , 0 , 0 , _PL_END, //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //Лейбл чекбокса-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- _NEW_OBJECT, 5 , 0 , 0 , 0 , 0 , _LABEL, _CNVS, 0 , _aq2,CHECKBOX, 0 , 0 , 0 , _aq1, _NS_gr3, A1, _X2X,_aq1, 0 , A2, _Y2Y,_aq1, 0 , A3, 0 , 0 , 0 , A4, 0 , 0 , 0 , A5, 0 ,_CHECKBOX_OFF, 0 , 0 , 0 , A6, 0 , A7, 2 , _aq1, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , A8, 0 , 0 , 0 , A9, _OBJECT_RELEASED, _NS_gr4, _CHECKBOX_ON, 0 , 0 , _NS_gr5, _NS_gr6, _NS_gr7, _NS_gr7, _PL_END, //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //Наименование чекбокса-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- _NEW_OBJECT, 5 , 0 , 0 , 0 , 0 , _TEXT_, _CNVS, 0 , _aq3,CHECKBOX,_OCN, 0 , 0 , _aq1, _NS_gr2, A1, _X2X,_aq1, 25 , A2, _Y2Y,_aq2, 2 , A3, 0 , 0 , 0 , A4, 0 , 0 , 0 , A5, 0 , 0 , 0 , 0 , 0 , A6, 0 , A7, 3 , _aq1, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , A8, 0 , 0 , 0 , A9, _OBJECT_RELEASED, _NS_gr2, 0 , 0 , 0 , _NS_gr9, _NS_gr9, _NS_gr10, _NS_gr10, _PL_END, //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- _END_, //============================================================================================================================================================================================================================================================================================================================================================================================================================================ //_NEUTRAL_STATE //==================================================================================================================================================================================================================================================== // X Y PIXEL_0 ALFA_0 PIXEL_1 ALFA_1 PIXEL_2 ALFA_2 PIXEL_3 ALFA_3 PIXEL_4 ALFA_4 PIXEL_5 ALFA_5 PIXEL_6 ALFA_6 PIXEL_7 ALFA_7 //==================================================================================================================================================================================================================================================== _NS_gr1, 0 , 0 , 0 , 0 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , _PL_END, //+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //==================================================================================================================================================================================================================================================== //========================================================================================================================================================================================================================================== //-------------X-----------Y--------TEXT COLOR-----TEXT_ALFA FONT----FONT SIZE-----ANGLE------POSITION----------STYLE--------------------------------------------------------------------------------------------------------------------------------------- //========================================================================================================================================================================================================================================== _NS_gr2, 0 , 0 , clrBlack , 255 , 1 , 10 , 0 , TA_LEFT | TA_TOP , FW_NORMAL , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , _PL_END, //+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //======================================================================================================================================================================================================================================= //========================================================================================================================================================================================================================================== //-------------X-----------Y--------TEXT COLOR-----TEXT_ALFA FONT----FONT SIZE-----ANGLE------POSITION----------STYLE--------------------------------------------------------------------------------------------------------------------------------------- //========================================================================================================================================================================================================================================== _NS_gr9, 0 , 0 , clrBlue , 155 , 1 , 10 , 0 , TA_LEFT | TA_TOP , FW_NORMAL , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , _PL_END, //+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //======================================================================================================================================================================================================================================= //========================================================================================================================================================================================================================================== //-------------X-----------Y--------TEXT COLOR-----TEXT_ALFA FONT----FONT SIZE-----ANGLE------POSITION----------STYLE--------------------------------------------------------------------------------------------------------------------------------------- //========================================================================================================================================================================================================================================== _NS_gr10, 0 , 0 , C'150,150,150' , 255 , 1 , 10 , 0 , TA_LEFT | TA_TOP , FW_NORMAL , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , _PL_END, //+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //======================================================================================================================================================================================================================================= //LABEL _NEUTRAL_STATE //==================================================================================================================================================================================================================================================== // X Y PIXEL_0 ALFA_0 PIXEL_1 ALFA_1 PIXEL_2 ALFA_2 PIXEL_3 ALFA_3 PIXEL_4 ALFA_4 PIXEL_5 ALFA_5 PIXEL_6 ALFA_6 PIXEL_7 ALFA_7 //==================================================================================================================================================================================================================================================== _NS_gr3, 0 , 0 , C'255,255,255' , 255 , C'253,253,253' , 255 , C'80,80,80' , 255 , C'140,140,140' , 255 , C'200,200,200' , 255 , C'245,245,245' , 255 , C'240,240,240' , 255 , 0 , 0 , _PL_END, //+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //==================================================================================================================================================================================================================================================== //LABEL _ACTIVATED_STATE //==================================================================================================================================================================================================================================================== // X Y PIXEL_0 ALFA_0 PIXEL_1 ALFA_1 PIXEL_2 ALFA_2 PIXEL_3 ALFA_3 PIXEL_4 ALFA_4 PIXEL_5 ALFA_5 PIXEL_6 ALFA_6 PIXEL_7 ALFA_7 //==================================================================================================================================================================================================================================================== _NS_gr4, 0 , 0 , C'255,255,255' , 255 , C'253,253,253' , 255 , C'80,80,80' , 255 , C'140,140,140' , 255 , C'200,200,200' , 255 , C'245,245,245' , 255 , C'240,240,240' , 255 , 0 , 0 , _PL_END, //+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //==================================================================================================================================================================================================================================================== //_OBJECT_NEUTRAL_HIGHLIGHTED //==================================================================================================================================================================================================================================================== // X Y PIXEL_0 ALFA_0 PIXEL_1 ALFA_1 PIXEL_2 ALFA_2 PIXEL_3 ALFA_3 PIXEL_4 ALFA_4 PIXEL_5 ALFA_5 PIXEL_6 ALFA_6 PIXEL_7 ALFA_7 //==================================================================================================================================================================================================================================================== _NS_gr5, 0 , 0 , clrWhite , 255 , clrWhite , 255 , C'80,80,80' , 255 , C'140,140,140' , 255 , C'200,200,200' , 255 , C'245,245,245' , 255 , C'240,240,240' , 255 , clrBlue , 255 , _PL_END, //+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //==================================================================================================================================================================================================================================================== //_OBJECT_ACTIVATED_HIGHLIGHTED //==================================================================================================================================================================================================================================================== // X Y PIXEL_0 ALFA_0 PIXEL_1 ALFA_1 PIXEL_2 ALFA_2 PIXEL_3 ALFA_3 PIXEL_4 ALFA_4 PIXEL_5 ALFA_5 PIXEL_6 ALFA_6 PIXEL_7 ALFA_7 //==================================================================================================================================================================================================================================================== _NS_gr6, 0 , 0 , C'255,255,255' , 255 , C'253,253,253' , 255 , C'80,80,80' , 255 , C'140,140,140' , 255 , C'200,200,200' , 255 , C'245,245,245' , 255 , C'240,240,240' , 255 , clrBlue , 255 , _PL_END, //+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //==================================================================================================================================================================================================================================================== //_OBJECT_NEUTRAL_BLOCKED/ACTIVATED_BLOCKED //==================================================================================================================================================================================================================================================== // X Y PIXEL_0 ALFA_0 PIXEL_1 ALFA_1 PIXEL_2 ALFA_2 PIXEL_3 ALFA_3 PIXEL_4 ALFA_4 PIXEL_5 ALFA_5 PIXEL_6 ALFA_6 PIXEL_7 ALFA_7 //==================================================================================================================================================================================================================================================== _NS_gr7, 0 , 0 , C'245,245,245' , 255 , C'245,245,245' , 255 , C'180,180,180' , 255 , C'180,180,180' , 255 , C'200,200,200' , 255 , C'245,245,245' , 255 , C'235,235,235' , 255 , C'245,245,245' , 255 , _PL_END, //+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //==================================================================================================================================================================================================================================================== Реter Konow 2017.08.15 12:41 #270 它只是30多个元素中的一个。也是最小的一个。但令人惊奇的是--我读它就像读一本打开的书。我不难解释它代表什么。另一个奇怪的事情是,这种元素的创建速度非常快,通过复制其他类似的元素并进行一些修正。它看起来很吓人,但事实上非常容易。 1...202122232425262728293031323334...48 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在函数式程序设计中,你所描述的访问问题并不存在。没有重载函数,没有字段和对象,没有指针之类的东西,当你只有一个内存用于所有全局变量,你可以从任何地方访问,怎么可能调用错误的函数?可能会发生什么样的访问错误?而且,要记住所有的东西就容易多了。
最简单的错误是引用了错误的变量,包含一个价值接近的值。
这样的错误可能在很长一段时间内都不会被发现,但根据吝啬法则,在这个地方非常需要没有错误的工作的时候,它就 "突然出现 "了
而这将是哦很难搞清楚的......你试图理解为什么专家顾问在一个良好的趋势中关闭了一个交易,而TS不应该关闭它--你不能理解。一切似乎都在正常工作。
这正是最令人不快的错误之一--不初始化变量,或寻址错误,但按数值接近。而在程序的这个或那个部分,变量越多--出现这种错误的概率就越大。
是的,当然,如果你有一个全局可访问的图形核心,并且你与订单一起工作,访问错误的变量真的很困难。但在一个较早的区块中,你检测到开立订单的必要性,并为此目的和可能根据用户的行动解决指标--很有可能将变量混淆。
如果有更多的结构,并且重要的细节定期从内存中消失--你会得出结论,全局访问--是一个问题的来源,你应该不惜一切代价避免使用它。而且,代码的编写方式应该是让你尽可能少地记住。理想情况下,不要在内存中保留任何东西--每个块都有一个名称,表明它的功能,在输入端,它接收这个功能所必需和足够的数据,剩下的就是实现这个功能,而不涉及任何其他 "来自外部 "的知识。
这是一个简单的错误--引用错误的变量,包含一个价值接近的值。
这样的错误可能在很长一段时间内都不会被发现,但根据吝啬法则,在这个地方非常需要没有错误的工作的时候,它就 "突然出现 "了
而这将是哦很难搞清楚的......你试图理解为什么专家顾问在良好的趋势中关闭了一笔交易,而TS不应该关闭它--而你却不能。一切似乎都在正常工作。
这正是最令人不快的错误之一--不初始化变量,或寻址错误,但按数值接近。而在程序的这个或那个部分,变量越多--出现这种错误的概率就越大。
是的,当然,如果你有一个全局可访问的图形核心,并且你与订单一起工作,访问错误的变量真的很困难。但在一个较早的区块中,你检测到开立订单的必要性,并为此目的和可能根据用户的行动解决指标--混淆变量是很真实的。
如果有更多的结构,并且重要的细节定期从内存中消失--你会得出结论,全局访问--是一个问题的来源,你应该不惜一切代价避免使用它。而且,代码的编写方式应该是让你尽可能少地记住。理想的情况是--不在内存中存储任何东西--每个块都有一个名称,表明其功能,在输入时,它接收该功能所必需和足够的数据,只剩下实现该功能,不涉及任何其他 "来自外部 "的知识。
那么,如果它们都有不同的名字,你怎么能调用错误的变量呢?如果一个错误的函数有一个唯一的名字,而且没有重载,怎么可能被调用?在内核数组内,所有的单元格索引都是用人话命名的。这里有什么可以混淆的呢?要明白,你所说的问题根本就不存在。
我只在内存中保留内核结构,这非常简单。我也知道对象的属性列表。所有的对象都有相同的属性,只是数值不同。我总共有140个财产,但我只保留了最重要的那些,大约30个。其余的我在需要时才会想起。为了做到这一点,我用定义打开了一个文件,并查看了全部的属性列表。并不复杂。焦点中的全局变量,例如 "OBJECT "或 "WINDOW "根本不需要被记住。而且不可能把它和其他东西混在一起。
我的变量在俄语里有有意义的名字。你只能在狂欢之后混淆视听)。我的全局变量 是焦点中使用的变量,它们被 "瞄准 "在内核上,并随着光标的移动而移动。
例如:变量 "WINDOW "不断携带光标所在窗口的编号。变量 "OBJECT "是光标所在的那个对象的编号。
我通过它们来处理内核中的特定窗口、对象和属性--G_CORE[WINDOW][OBJECT][_NAME]或G_CORE[WINDOW][OBJECT][_OBJECT_GROUP]。在任何函数中,如果我需要一个物体的X坐标,我从G_CORE[WINDOW][OBJECT][_X]中得到它,如果物体的高度--从G_CORE[WINDOW][OBJECT][_Y_SIZE]中得到,等等。
总而言之,我有大约一百个单独声明的全局变量,但在全局内核数组中却有成千上万个,因为数组中的每个单元都是一个变量。然而,管理这个数量的变量非常容易,因为它们是有序的。内核中的每个窗口是一个数组字段;每一行是一个对象,由140个属性组成。在这种情况下,元素是对象的集合。每个元素都有一个主对象,它包含整个元素的主要属性。属于每个元素的对象通过特殊的索引联系在一起,因此无论该对象成为焦点,它所属的元素也会成为焦点。绘制它的画布也是如此。由于内核的显式原型和来自任何函数的直接访问,我可以操作由内核数组单元表示的数以千计的变量,而不会忘记任何东西,也不必在它们周围导航。
一个完全没有意义的对话:没有任何标准可以将代码分类为 "好 "或 "坏"。这就是为什么不清楚OOP的原因。
对我来说,这样的标准是代码的可行性,这表现在作者或第三方可以阅读代码并使用它进行修改,在相当长的一段时间后寻找错误.....。
在这里,上面的费多谢耶夫取代了OOP开关。这个特殊的例子,也许是不幸的,对我来说,是OOP的恶毒的证明:有100个位置开关的清晰代码被单行取代。要理解这条线路,你必须要去一个地方。这对我来说是不允许的。
上面第二个例子是乔治-梅茨的作品
当调试后,清除代码被非清除代码所取代。根据我的标准,高质量的代码(易于阅读)被我不能接受的代码所取代。
这就是为什么我有一个问题要问所有的OOP支持者:当应用OOP 时,程序会变得更加生动,而Fedoseyev所举的关于切换的例子是失败的,或者相反,Fedoseyev的例子非常准确地描述了OOP,而OOP几乎总是导致生动性的丧失?
好吧,在CC那里一切都很清楚。一切高于他理解水平的东西都是不好看的。但他知道R这个字母 ))))))))))))))
那么,CC是清楚的。任何高于他理解水平 的东西都是没有 吸引力的。但他知道R这个字母 ))))))))))))))
我将添加中文,也许是日文...
为什么是巴解组织?为什么会更好呢?
可见性是指简化调试、修改。可见性来自于精心的程序设计,来自于结构化的功能,而不是对象,因为整个世界是基于对象的行动,而不是反过来。
当分解为功能时,是由输入转化为输出的顺序得出的。例如,只有通过指定一个ACTION,才能将BUY|SELL输入转换为输出。
这就是人类思维的运作方式。
PS。
关于你对R的评论。
你想讽刺一下吗?
我很少回答,但我可以。
如果它们都有不同的名字,你到底怎么能调用错误的变量?如果函数有一个唯一的名字,而且没有重载,怎么可能调用错误的函数?在内核数组内,所有的单元格索引都是用人字命名的。这里有什么可以混淆的呢?要明白,你所说的问题根本就不存在。
好吧,我有过几个这样的案例。
最常见的是,当你从另一个地方复制一段代码,然后根据当前的区块来 "纠正 "它时,就会发生这样的错误。如果你有全局访问权--你很可能错过改变其中一个变量。如果在这种情况下,你只能访问你的工作内容--那么在复制之后--编译器本身会给你一个需要改变的所有变量和位置的列表。
标签 Konow:
我的内存中只有内核结构,这非常简单。我也知道对象的属性列表。所有对象的属性都是一样的,只是数值不同。我总共有140个财产,但我只保留了最重要的那些,大约30个。其余的我在需要时才会想起。为了做到这一点,我用定义打开了一个文件,并查看了全部的属性列表。并不复杂。
30处房产? 嗯,这对我来说是不可接受的。不是说我记不住他们,但我不想依赖我的记忆。更好的是,当在每个区块中--你总是有确切的那些变量,在这个区块中应该被处理,而没有对其他变量的访问。
但是,这让我感到压力很大,因为要记住...既然这对你来说并不难--没有必要做不必要的OOP摆弄,这是可以理解的。
嗯,我有几个这样的案例。
大多数情况下,当你从另一个地方复制一段代码并 "修正 "它以匹配当前块时,就会发生这种错误。如果你有全局访问权,你很可能错过改变其中一个变量。如果在这种情况下,你只能访问你的工作内容--那么在复制之后--编译器本身会给你一个需要改变的所有变量和位置的列表。
30套房产? 好吧,这对我来说是不能接受的。我不是记不住他们,但我不想依赖我的记忆。更好的是,当在每个区块中--你总是有确切的那些变量,在这个区块中应该被处理,而根本没有对其他变量的访问。
但是,这让我感到压力很大,因为要记住...既然这对你来说并不难--没有必要进行不必要的OOP-交易,这是可以理解的。
嗯,坦率地说,我记得很多事情。只要看看抢购对象的缩写_X2X, Y2Y, B2B, R2R, H2Y, W2X, Y2H, X2W, C2C等等。每一个都定义了一个物体相对于另一个的位置。这些在参数A1,B1,C1,A2,B2,C2,A3,B3,C3,A4,B4,C4,A5中找到。我还记得几十个对象的类别和子类别的名称,几十个窗口的属性(有100多个)。例如,构建块中有几十个函数,它们占用了4000多行代码。你必须浏览并记住很多东西。但记忆来自于长期的实践,不是一下子,而是逐渐地。我的脑袋曾经因为实体的数量和代码的大小而变得沉重,但后来都被塞进了,变得简单了。
嗯,坦率地说,我记得很多事情。对象参考的缩写_X2X, Y2Y, B2B, R2R, H2Y, W2X, Y2H, X2W, C2C, 等等。每个定义一个对象到另一个对象的某个位置,都是在参数A1,B1,C1,A2,B2,C2,A3,B3,C3,A4,B4,C4,A5...。我还记得几十个对象的类别和子类别的名称,几十个窗口的属性(有100多个)。例如,构建块中有几十个函数,它们占用了4000多行代码。你必须浏览并记住很多东西。但记忆来自于长期的实践,不是一下子,而是逐渐地。我的脑袋曾经因为实体的数量和代码的大小而膨胀,但后来这一切都被淹没了,变得简单起来。
为了分散自己的注意力,忘记一切,去度假一个月,不去想代码的事。然后回来,看到所有这些a1、b1等,就会歇斯底里 :)
分心,忘记一切,去度假一个月,不去想代码。来之后,看到所有这些a1,b1等。并歇斯底里:)
例如,这是 proto-core 中的“复选框”元素的样子: