2023年2月8日水曜日

[関数][重複]同じ機能なのに二カ所に存在

こんにちは


今日もソフトウェアについてほのぼのと記載します。


現在、他社が書いていたコードを見ているところです。


同じ関数名が別ファイルにstatic型で使われているのですが。。。


何故でしょうか?


C言語なので、同じに見えるクラスなだけ。


と言った概念はない筈なのですが。。


処理は一行あるかないかの違いでした。


意図しているのかたまたまなのか


これは、私を試していると言うことなのか。

2023年2月3日金曜日

[仕様書][設計書] 設計書の効果とは

こんにちは


今日もソフトウェアについてほのぼのと記載します。


現在、他社が書いていてエンドユーザが指摘していたソースを、私が所属している

会社がメンテナンスしている状況です。


1つのcソースファイルで、通信、フラッシュアクセス、ユーザインタフェースとして公開しているやらで、


3000行近いソースとなっていました。。。


それに対して今行っているのは


・ファイルを機能毎に分ける

・レイヤに分けてそれぞれの役割を割り振る


です。


現在、変更仕様書なるものを書いています

が、恥ずかしながら


在職中、書いたことがなかったです。


大手と中小の違いはこういうところなのでしょうか。


また、イメージをソースに書く前に


設計書としてエクセルシートにフローチャートを


書いていくのは必須のようで、


設計書レビューの時に認識を合わせやすくするのによいそうです。


納期があるのに時間がかかってしまうのは仕方ないのかしら。


どうすれば早く書けるのでしょう。




2023年1月29日日曜日

[仕様書] ヘッダファイルの使い方

こんにちは


今日もソフトウェアについてほのぼのと記載します。


現在、他社が書いていてエンドユーザが指摘していたソースを、私が所属している

会社がメンテナンスしている状況です。


指摘事項のうち、ヘッダファイルの扱いが参考になりました。


・ヘッダファイルはユーザに公開している仕様書のようなものです。


ということです。


お客さんはこのヘッダファイルだけ見てくださいね。

といった使い方を想定しているそうで、


内部処理は、ユーザーに意識させない造りにする必要があるとのことです。


仕様書にも、お客さんはこの章だけみてくださいね。


ということのようです。


基本的といえば基本的ですが、為になります。


2023年1月18日水曜日

[実装] 1つの戻り値のみならvoid型


こんにちは


今日もソフトウェアについてほのぼのと記載します。


現在、納品したソフトに対して、


量産版の為に設計をカスタマイズしています。


ソースの書き方で指摘を受けたのでメモします。



  • 関数の戻り値が1つしかないならvoid型にしてください。



残念ながら、今まで戻り値はvoidで定義することは殆どありませんでした。


エラーコードを必ず返すように作り込んでいて、


後々ソースを変更した時にエラーコードが追加されるかも。


と言ったことを意識していた為です。


ユーザに伺ったところ、以下のような意図があるようです。


  • 可読性で見ると、戻り値がvoidなら中身を見ずに済む


確かに、関数の中を追うのを考えると


手間かもしれませんね。

2023年1月14日土曜日

[実装] ソースコードレビューにて


こんにちは


今日もソフトウェアについてほのぼのと記載します。


今は、納品したソフトに対して、


量産版の為に設計をカスタマイズしています。


ソースコードレビューをお客さんと行ったのですが、


可読性を特に意識されていて、


それぞれの処理にコメントを入れてくださいとのことでした。


これ、結構衝撃的でして、、、、


私の所属しているソフトの人たちはソースを見て


分からない人が悪い!


そんなのも分からないのか。と言う伝統があったので、


新鮮でした。


確かに、処理を追う際にコメントが一言書いてあるだけでも


不具合があった場合、問題の箇所を探しやすくなりますね。




2022年12月20日火曜日

[設計][量産] 設計に使えるフローチャート

こんにちは


今日もソフトウェアについてほのぼのと記載します。


今は、納品したソフトに対して、


量産版の為に設計をカスタマイズしています。


量産における、ユーザの視点としては以下のようです。

ここで云うユーザはソフトメーカです。


  • タスク間のメッセージは少なくしたい。オーバーヘッドが大きくなるので(リアルタイムOSを使用)

  • エラー動作を明確にしたい

  • データ管理テーブルはなるべく行わない。データを管理するソースファイルを追加しその中で行う。


今まで、シーケンス図を使って図を書いていましたが、


それだと内部設計が分かりづらかったので、


以下のような図を作成するように依頼されました。


  • フローチャートとシーケンス図を組み合わせたオリジナル図


どんな感じかというと、以下の通りで、フローチャートに毛が生えたような感じです。


  1. シーケンス図を記載する

  2. シーケンス図の各タスクにフローチャートを描いていく。


効果としては、意外と絶大で、

ユーザとの認識違いがすぐに分かって早期に修正できるようになります。



2022年12月12日月曜日

[Python] [認定試験] Python3エンジニア認定試験次なる目標

こんにちは


今日もソフトウェアについてほのぼのと記載します。


先日、Python3エンジニア認定基礎試験をパスするまでの間に


ソースコードを色々作成していきました。


その中で、以下のようなPythonの良さに気付かされました。


  • 簡単に開発環境が構築できる

  • デバッグするのにワンポチ

  • 組み込み技術者を泣かせるハード要因もなし


次回は折角なので

Python 3 エンジニア認定データ分析試験


を目指そうと思います。


書店で第2版を見かけたので、即買いしました。


さぁ、楽しくなってきた