Androidのお仕事で、あるclassのcodeを読んでいて。
- onTouchListenerの上にonClickListenerを上書き
あるbuttonをsetOnTouchListener(this);してて。
buttonをonTouchListenerっていうのもなんですが、
onTouch(...)で更にsetOnClickListener(...);してるという…
- timer止めずに新しいinstanceを上書き
CountDownTimerをinstance fieldとして持ってて、
途中でnewしてるんですが、それが複数箇所あるんですよね…
直前にcancel処理とか特に無いし。大丈夫なのかこれ。
- カタカナや”$”,”/”にtoLowerCase()/toUpperCase()してindexOf()
"半角カタカナ".toLowerCase()してからindexOf(...)>-1して、
contains(...)と同じことしてました。indexOfはまだしも、
toLowerCaseしたからって
全角カタカナが半角カタカナになるわけじゃないのに。
え、まさか、とか思ってしまった自分が情けないです。
同様に、記号に対しても"$".toLowerCase()とか謎すぎます。
- 他の(inflateもincludeもしてない)View上のR.idをfindViewById()
当然nullですfindViewById()しても。実質無害なcodeではありますが。
どうやら他から何も考えずにコピペしたから、らしいです。
- listの2度回し
なるべく一度で済むように書きますよねぇ、フツーは。
ちょっと違う処理をするから、なのか、
同じlistを直後に2度回して、って。
まー他でも同じtableのDB accessを3回してたりしますからねーこのcode。
- 1830秒?
随分謎なMagic Numberです。
- loop回すのに中で値を上書き(結局見てるのは最後の値だけ)
for(i in list){v = i}みたいな。v=list[lastIndex]でいいじゃん。
そういうことされると意図が読めないんですよね。困ります。
- loopの空回し
waitしたいみたいなんですが、
while(true){if(!flag)break;}ってこれじゃぁCPU無駄遣いでしょ。
改善したっていってdo{i=0;}while(!flag);って、あのねー…
synchronized wait()で同期
他Activity(dialog)に遷移させ、
その同期にsynchronized(this){wait();}って使ってます。
そういうthread jugglingはやめて欲しい、です。
こういうのってホントはRXですよね。
- method/field名が大文字で始まっててclass名と区別がつかない、
なんていうのは可愛い方で、もう気にもならなくなってますそういえば。
methodも長いし条件分岐も複雑で、
state patternとかなんて知らないんだろうなぁと。
- というか全てがfat ActionでFragmentもなければApplicationもないという
(基本的には。後から「訳も分からずダーッとコピペした部分」にはありますが)。
…というように。
こういうcodeと共に仕事するのは、嫌で嫌で仕方ありません。