Ці лёгка злоўжываць шаблон назіральніка?

У мяне ёсць праект, дзе я выкарыстоўваю шаблон назіральніка шырока ўпершыню. Адна рэч, якую я знайшоў, аднак, з'яўляецца тое, што калі я агледзець тыповы аб'ект у гэтым праекце, ён мае тэндэнцыю быць дзіўна вялікі з усімі назіральнікамі і назіранымі, а затым раз, калі назіральнік мае іншых назіральнікаў і г.д.

Гэта, здаецца, быць побач з кропкай, так як прадукцыйнасць выдатна. Але я выявіў, што часам, калі я знаходжуся ў адладчык, калі я спрабую надрукаваць пераменны асобнік, што ён будзе блакаваць маю машыну, пакуль я не забіць працэс. Гэта мяне непакоіць, што ёсць нейкая магчымасць для таго каб гэта адбылося ў той час як код знаходзіцца ў вытворчасці. Ці гэта проста папярэджанне, што я злоўжываючы шаблон.

Любыя парады, прапановы?

0
@CloseVoters: Пытанне трохі агульнага, але гэта мае сэнс.
дададзена аўтар Andrew Grimm, крыніца
Можа быць, самая вялікая праблема ў мяне ў тым, што яна робіць яго цяжэй адладжваць код з нелінейнасцю падзей стральбы. І той факт, што гэта замак мой адладчык не дапамагае.
дададзена аўтар Jeremy Smith, крыніца
Ну, вы павінны толькі выкарыстаць яго, калі вам гэта трэба, у параўнанні з для ўсіх вашых аб'ектаў, нават калі яны не павінны быць апавешчаныя пра змены/падзей.
дададзена аўтар coreyward, крыніца

2 адказы

TL; DR: Так, але гэта не азначае, што ён не дасканалы часам.

«Дзіўна вялікі» азначае ... гэта даволі вялікі; што азначае, што <ет> на самой справе азначае? Колькі назіральнікаў/назіраныя ёсць? Яны глыбока укладзеныя?

IMO карэляцыя паміж рабіць рэчы ў адладчык і «рэальнай жыцця» не асабліва моцная; мае яна калі-небудзь зачынены ў працэсе вытворчасці або тэставання? Я б, хутчэй за ўсё, думае, што гэта артэфакт працэсу адладкі/прыкладання.

«Spooky дзеянні на адлегласці» стварае нелокальность, якія павінны быць зразуметыя, каб правільна разважаць пра код і паводзінах. Такое развіццё павінна быць дагледжанай агрэсіўна; а не казаць «Я проста стварыць новы назіральнік», архітэктар яго, і захаваць развагі як лінейныя, як гэта магчыма.

2
дададзена

Вы можаце перавызначыць інспектаваць метад менш шматслоўным.

0
дададзена