ヒトにやさしく

人間工学を活かしたものづくりの情報発信ブログ

MENU

【空白が意味を持つ?】プログラム内のスペースの分かりづらさ

空白が意味を持つ?

 

f:id:acuite:20210606144217j:plain

学生の頃、プログラミングの授業の中で、

「専用のツールを使わなくとも、プログラム内の全角スペースが視えます!」と冗談交じりに言った先生がいました。

 

プログラミングに慣れないうちは、全角文字が混入してしまい、実行後にエラーになることもありますよね。

  

空白が「ある」のか、

何も「ない」のか、

 

この違いは大きいですよね。

 

プログラムの場合は、全角文字や不要な空白があると動かなくなることがあります。

 

エディタによっては、空白や全角を見えるようにしているものもありますが、見つけるのが意外と大変ですよね。

 

日頃の、システムに関する業務の中でも、空白に注意することがあり、事例を紹介したいと思います。

 

スポンサーリンク

 

 

会社業務での事例紹介

事例1.データの内部には、あえて空白があることもある

私の会社のあるシステムは、品名や金額が書かれた帳票を出力します。

 

例えば下記のような見積書です。

 

f:id:acuite:20210606134959p:plain

 

出力される帳票を見ると、決まった個所に決まった値が入っているように見えます。

 

しかし、実際の内部データには、下記のように空白が入っています。

 

f:id:acuite:20210606135653p:plain

 

これは、システム内部で、帳票の表示文字数に制限をつくり、その制限のもと、登録を行っているためです。

 

〇文字以上になると枠からはみ出す(もしくは見切れる)ため、最初からシステムで文字数を指定しています。

 

システムによっては、文字のサイズを小さくすることで、枠内に収まるようにする場合もありますね。

 

このような、空白をあえて入れるシステムの作りですが、課題となる点もあります。

 

登録をする際に、投入するデータを確認しづらい点です。

 

空白があるのか、何もないのか・・・ぱっと見では分かりませんよね。

 

Excelの関数でbyte数を確認したり、特定のプログラムエディタで見ることで、分かりはしますが。

 

以前書いた下記の記事、0(ゼロ)とO(オー)の分かりにくさに通じるものがあります。

ergonomics.hatenablog.com

 

結果として、この分かりづらさがヒューマンエラーになり得ますので、改善していきたいです。

ergonomics.hatenablog.com

 

事例2.余分な空白の混入

システムを作る際には、仕様書に基づいて形作っていきますが、

 

この仕様書は、人が作っているため、間違いがあることもたくさんあります。

 

その中で、全角文字と半角文字が入り混じっている場合や、余分な空白が入っている場合があります。

 

仕様書通りに作り、出力してみておかしいことに気づくこともあります。

 

例えば下記のように、仕様書に記載されている余分な空白が入り込み、出力帳票上でずれが生じるパターンがあります。

 

f:id:acuite:20210606143109p:plain

 

人のチェックの精度の問題かもしれませんが、なかなか分かりづらいものです。

 

このような「分かりづらさ」を日頃から意識し、なくしていきたいですね。

【ムース食でQOL向上】介護食だけでなく歯列矯正時にも良い?

歯列矯正時にもムース食が役に立つ?

f:id:acuite:20210606145646j:plain

 

突然ですが、ムース食とは何かご存知でしょうか?

 

食後のデザートのムースは美味しいですよね。

 

このムースのように、かまなくても食べられるようなムース状の食事のことです。

 

 

ムースの意味

ムース(フランス語:mousse)は、「泡」という意味です。

 

生クリームや卵白をかき混ぜ、泡のようにふんわりと軽いくちどけに仕上げたスイーツです。

 

ムース食は、通常の料理をすりつぶした後、トロミ剤などを使って元の料理のように固めたものです。

 

用いられる場面

用いられる場面として多いのは、かむ力が弱くなったお年寄りの食事です。

 

流動食を食べるという選択肢もありますが、食事を楽しみたいという思いも強いと思います。

 

かむ力が弱い方のQOLを向上するためにも、このような商品は必要だと感じます。 

 

以下のように、商品も発売されています。

 

 

【介護食 区分3 介護食品 舌でつぶせる おいしい セット】エバースマイル ムース食 和食8種セット

価格:3,344円
(2021/6/6 15:05時点)
感想(9件)

歯列矯正時にも良い?

さて、このようなムース食ですが、歯列矯正のように、一時的に口の中に障害がある場合にも役立つように感じました。

 

私は、現在歯列矯正ですが、矯正のワイヤーを締め直した後数日は、ものすごく歯が痛みます。

 

何もしていない時には痛みませんが、食べ物をかむ際に痛みが生じます。

 

痛みが強い時には硬い物は食べられません。

 

かろうじて食べることができても、飲み込むまでに時間を要し、つらい食事となります。

 

このようなときに、ムース食であれば、かまずに、舌でつぶすだけで飲み込むことができます。

 

食べてみた感想

私自身、歯列矯正をする前にムース食を食べたことがありますが、文字通り、ムース状の食べ物でした。

 

懸賞で当たったもので、 ハンバーグや、魚の煮つけ等、色々な商品がありました。

 

箱から取り出し、中身を見ると、食品のレプリカのように精巧につくられており、ぱっと見ではそれがムース食なのか分からないものが多かったです。

 

食べてみると柔らかく、すぐにムースだと分かりました!

 

味は、完全に、とまではいきませんが、元の食品の風味を感じることができました

 

いくつになっても、どんな状況になっても、食事をするということが、楽しく思えるとQOLもかなり向上しそうですね。

 

ムース食は、介護時だけでなく、歯列矯正のように、一時的にかむことに抵抗がある方に向けても役立つものだと感じました。

【ヒューマンエラーを防ぐには】実体験から原因と改善手法を考察

ヒューマンエラーを防ぐには?

 

f:id:acuite:20210523153656j:plain

 

 

スポンサーリンク

 

ヒューマンエラーとは

人間が原因となって生じるミスの事で、

JIS Z 8115:2000では、「意図しない結果を生じる人間の行為」と定義されています。

このヒューマンエラーの裏には、人がその行動をとった原因が存在します。

人がなぜ、その判断に至ったか、根本原因はデザインや認知科学の面から考察できそうです。

 

私の会社の業務

会社の業務で、私が携わるwebシステムには、以下の3つの環境(URL)が存在します。

①社外のお客様、及び社内の数百人のユーザーがほとんど日常的に操作している本番環境

②一部の社員が検証用に操作可能な本番前環境

③開発者が開発中の開発環境

 

通常、③開発環境で開発したデータのまとまりを、②本番前環境に配信してシステムを検証します。

そこでバグがあれば、③開発環境でデータの修正を行い、再び②本番前環境に配信します。

データのバグを修正し、品質的に問題ないようであれば、②本番前環境のデータを①本番環境に配信します。

 

さて、この配信ですが、②から①への配信は、ユーザーがいないシステムの稼働時間外にしなければなりません。

配信の作業上、システムが一旦停止するためです。

その際、システムにログイン中のユーザーは、強制的にログアウトします。

私の会社では、この②から①への配信業務を深夜に行っています。

 

対して、③から②の配信では、使用状況もかなり異なることから、日中に配信業務を行います。

実際に使われるデータが動くのではなく、会社の業務に直接影響を与えないためです。

更に、②の環境を使用するユーザーはほとんどおらず、使用するユーザーも限られています。

事前に関係者に連絡をして、〇時から〇時までシステムを停止する旨を伝えることも簡単にできます。

 

体験談

さて、ここからが体験談です。

新入社員と呼ばれていたある日の昼下がり、上記の③開発環境から②本番前環境への配信を行っていました。

既に何度か行ったこともあり、数ある作業内容もほとんど把握していました。

基本的には、ファイルを移動するような操作をスクリプトで行っています。

 

手順書に沿ってPCの画面上を操作していると、、、見慣れないエラーの文字が!

 

よくよく確認してみると、②から①へ配信するためのスクリプトが動いています。

そして、部内に鳴り響く電話・・・システムを止めてしまいました。。。

 

すぐに、スクリプトが行った内容と実行した時間を確認し、復旧作業を行いました。

結果として、30分ほどで対応が完了し、システムを復旧することができました。

 

顛末報告も終え、その後はかなり注意して作業するようになりました。

 

同様の事を繰り返さないために、このヒューマンエラーの原因を探り、対応策を練ってすぐに実用しました。

 

考えられるエラーの原因

確認不足

手順書の中には、確認をする手順の記載がありません。

手順書通りに進めればよいはずでしたが、作業者の判断が入る部分もあったようです。

更に、問題なく実施できていた実績があったことから、私の中にも「慣れ」がありました。

 

注意不足

上記の慣れにより、注意力が散漫になっていました。

 

 

対策した内容

システムによる事前確認

スクリプトを実行する前に、実行するか否か確認するフェーズを設けました。

具体的には、コマンド実行後、スクリプトを実行するか否か尋ねるようにシステムを変更しました。

これまでは、コマンドを実行すると有無を言わさずスクリプトが実行されていました。

 改めて尋ねられることで、より意識して作業ができるようになりました。

 

見た目ですぐに気づく工夫

操作する画面は、いずれの配信も酷似した見た目でした。

配信先のサーバー名が異なるのみで、ぱっと見ではどちらの配信用の画面なのか分かりづらいです。

そこで、③から②の作業場所と、②から①の作業場所とで画面の背景色を変更しました。

これにより、今表示している画面がどちらの作業画面か、すぐに判別できるようになりました。

 

以下のような、文字の分かりにくさも原因となり得るため、取り除きたいですね。

ergonomics.hatenablog.com

 

その後は、現在に至るまで、同様のミスはありません。

上記対策が活かされているとは思いますが、他の業務でもヒューマンエラーが起こりそうな箇所を見直したいものです。