ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

仕事中に状況を変える方法

少し前に書いた記事で、

身体を動かして、頭で考えるしかないという状況になって、改めて考えるのが、僕には向いているようです。

思いつきを得られるタイミングは、状況が変わったとき - ソフトウェア開発者の日常

と書きました。

仕事中に状況が変わる場合を考えます。

仕事中だけど身体を動かす

仕事中に身体を動かすとなると、トイレに行くか飲み物を作りに行くかくらいです。
後はずっと自分の席のパソコンの前です。

トイレは執務スペースを出るので、状況を変えるにはいい機会です。
背伸びをしながらなにも考えないなど、少し状況を変えるのには向いていますが、焦っているときもあるので、なかなかできていないのが現状です。
できたときでも少しの時間では、なかなか思いつきを得られたという印象はありません。

考えて疲れている
unsplash-logo青 晨

他の仕事をしてみる

複数の案件に平行して対応しているので、午前中は最重要の案件のプログラミング、午後一番は他の案件の見積や請求依頼、作業など、15時からは最重要案件のプログラミングの続き・・・というように、間に別の仕事を挟むときもあります。
状況が変わってはいますが、他の仕事に集中しているので、最重要の案件は頭の本当に片隅にあって、なかなか考えるまでは至りません。

メールを読む、Webを読む

いろいろな種類のメールマガジンRSSを読んでいるので、息抜きに読むときもあります。
ポモドーロ・テクニックで、25分集中して5分休憩を繰り返しているので、5分間の休憩という息抜きをします。
息抜きしたい、休憩したいと思いながら、先ほどまでの仕事について、いろいろ思うことがあると、書き出し始めて5分間が過ぎてしまうときもあります。
メールを読んだりWebを呼んでいると、そちらに集中していて、考えが回らないです。


普段の仕事の様子からすると、状況を変えているけれど、思いつきを得られやすそうな変化にはなっていません。
コンビニに買い物に行く、20階建て以上のビル内の1室に勤務なので数階階段を上るか下りるるなどして身体を動かす方が、状況が変わっていいのかもしれません。

プログラミングをしていて関数/メソッドを分割したくなるとき

プログラミングをしていると、関数またはメソッドに分けたくなるときがあります。

  • 同じような処理を再度書くかなくてはならず、コピーして手直しすれば手早いけれど、修正が発生した場合漏れがありそうなとき。
  • 3重ループになっていて、ループの条件がわかりにくくなっているとき。
  • 条件分岐が深くなったとき。

  • 行数が長くてコードを読んで処理を理解しようとした際に時間がかかるとき。

といった場合もあります。

プログラミング
unsplash-logoKelly Sikkema

同じ変数名を知らず知らずのうちに使ってしまっていたとき

行数が長い場合、最初からコードを読むのも手間ですが、同じ変数名をまだ使われていないと思って使ってしまい、処理の結果が正しくなくて悩まされる場合があります。
使った当初は同じ変数名を使いまわしても大丈夫だと思ったのかもしれませんが、プログラミングが進んだ結果、同じ変数名で保持しておかなければならない値が、随時更新を行って、結果が正しく得られないという経験を最近しました。
変数名を分けて暫定対処を行い、結果が正しくなるのは確認しましたが、今後分けていかなければなりません。

変数名を考えたら同じになるとき

どんな値を入れるのかを考えて変数名を決めますが、変数名を考えた結果、すでに変数名と同じになったら、似たような処理をプログラミングしている可能性があります。
関数名/メソッド名も同様です。
どう考えても同じ変数名にして、2個目には2とつけた方がわかりやすいとなれば別ですが、めったにありません。
処理をまとめられないのか、関数/メソッドに分けられないのか考えて、分けていかなければなりません。


同じ変数名をつけたくなった時点で、手早く分けてしまうのが、後々のデバッグでの手間の軽減につながるのかもしれません。
分けすぎて、むしろわかりにくなる場合もあります。
単純な機能の組み合わせで実現したいと思っていますが、実際はできない場合が往々にしてあります。
このように思うと同時に、方法論をもっと学ばなければならないとも思っています。

昨年利用したシステムの設定変更をしつつ他の案件も進めた1週間の振り返り(2020/1/18〜2020/1/24)

昨年利用したシステムの設定変更と並行して他の案件もこなした1週間を振り返ります。

  • 2020/1/18(土)
    町内の組長が今年3月で終わりなので、次の順番の方と思われる方のところに2月の打ち合わせを伝えに行ったら、違っていました。
    組の中で一番古くから住んでいる方に確認したら、何年か前からの順番を控えられていたので、次の方が正しくわかりました。
    しっかりされているなと感心するとともに、真似して控えておきたいです。
  • 2020/1/19(日)
    初めて行ったスーパーの入り口に、4歳から6歳が立って乗れるショッピングカートがあり、子どもが乗りたがったので利用しました。
    初めてでしたが、子どもがカートを押して人にぶつからないかと心配しなくても済むのは気楽です。
  • 2020/1/20(月)
    昨年利用したシステムの設定変更をして、ログインして表記の修正を確認しました。
    設定変更の方法、表記の修正箇所の記録が残してあるので確実に作業ができます。
  • 2020/1/21(火)
    あるシステムの見積を提出したら、見積を確認しましたとの返信がありました。
    作成を依頼する/しないのどちらとも書かれていなかったので、確認したところ、金額から作成の依頼は難しそうだとの回答がありました。
    最初にまとめて回答してもらえると、手間が1度減ってありがたいです。
  • 2020/1/22(水)
    PHPのcom機能を利用して、Excelを操作しようとしたらエラーが発生して、何が原因かと思ったらPHPは64ビット版でしたがExcelは32ビット版でした。
    Excelの64ビット版がインストールされている環境が見つからなかったので、以前利用した環境を再利用しました。
    以前の環境を残しておいたおかげで困り果てなくて済みました。


  • 2020/1/23(木)
    前日連絡があった選択肢の変更を反映して連絡したら、さらに追加で1個の選択肢の削除の依頼がありました。
    少しの時間とはいえ2度手間なので、まとめて連絡してもらえるとありがたいです。
  • 2020/1/24(金)
    未経験業種のシステムの機能改修を進めていて、朝からずっとデバッグをしてつつ不足しているロジックを追加していました。
    少しずつ正しく動作するようになっていきますが、ロジックを追加する都合上、デバッグ済の部分にまで影響が出て、またデバッグをやり直しと、思ったより進まず、時間がかかっています。


昨年利用したシステムの設定作業は終わりましたが、一部気になる部分が残っています。
改修ができるのか、改修が間に合うのかを調べつつ、他の案件もこなさなければならず、落ち着かない状況です。


姉が伊勢に行ったお土産を持ってきてくれました。

おかげ犬サブレおかげ犬サブレの裏
素朴な味で美味しかったです。