質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

5回答

3559閲覧

ソースコードの雛形の管理、保存方法。作業効率をあげる方法に関しまして

nodact

総合スコア41

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

2グッド

1クリップ

投稿2016/05/02 08:39

編集2016/05/06 00:51

タイトルを見てこの質問を見てくださりありがとうございます。
タグを見てこられた方、内容と異なることがあります。申し訳ございません。
質問する内容先が少々間違っているのかも知れませんが、皆様のご意見を聞けたらと思います。

プログラミングをしていると毎回使うようなコードがあると思います。
関数にするようなものではなく(処理をする上で関数化できない)、雛形というのでしょうか、テンプレートというのでしょうか、決まりきった形があると思います。
例えばですが、私は職業上C言語の組み込み系のソフトを作成しているので、
プログラミングをしていると、「これはあの時使ったコードが使えるな」ということが多々あります。
そのつど、その時作成したソースをみてコピペしてくるといった作業をしています。
しかし、中には「何に使ったか忘れた」というものも多く探すのに手間取ったり最終的に書き直すこともあります。
上記にて関数にできないと述べていることに関しましては、
装置ごとによっては丸々流用できない、一部を変更しなければならない、また社内ルールにより基本的に関数を増やさない(増やすほどのものでもないものもあれば、割り込みの関係でやってはいけない→破損するため)ということもあり、毎度何かよい方法はないかと思い模索していました。

そこでメモ帳に保存してみたり、エクセルに保存してみたりとしてみたのですが、いまいちパット出てこない、または見にくいとの事があり却下されたりしました。

コードにも大きく分類できるので分類できたらと思いエクセルを利用して項目ごとにシートを分けて使いたいものをクリックするとVBAが起動しそこにソースがあるというものも作成してみたのですが、
・新しく追加する際に手間がかかる
・変数など毎度エラーをはかれるので使いにくい
・容量が大きすぎて使いにくい
などとのことがあり却下。

そこで皆様に質問です。
作業効率を上げるために皆様はどのような工夫をしていらっしゃるでしょうか?
フリーソフト、自作ソフト、様々なものがあると思いますが、個人使用ではなく、誰かと共有しなければならないという時になにかよい方法などがあればご意見をお聞きしたく思います。

しつこいようですが要点をまとめますと
・ソースコード(雛形・テンプレート)を管理、保存したい
→変更が必要な箇所(例えば変数名・符号)もありあくまでも雛形を保存したい
・分類分けをしたい
→例えばですがエラー検出、PID制御など

このサイトの趣旨とは少し外れているかもしれません。
他所で聞けと思う方もいらっしゃるかもしれません。
気分を悪くしてしまったら申し訳ございません。

技術の向上、作業率の向上にご協力いただければ幸いです。
また、私の知人にも相談したところ同じ様なことは思っていたとの事でした。
私以外にも同じ事を考えている人はいるようなので、この質問からよい結果が出せたらと思います。

長文失礼いたしました。
何卒よろしくお願い致します。

追記
ベストアンサーを選択させて頂きました。
皆様の回答がどれも私的にはベストアンサーで選択に迷いましたが、
最終的な目標として選ばせて頂きました。
中では学習時間といったご回答を頂きました。
確かにおっしゃる通りかもしれません。
今は「業務に取り組むことが学習、教材などはなく分からないものは個々で学習」
というのがあるような気がします。
確かに個々のスキルはあがりますがこのままだと組織としてはよくないですね。

スニペットの存在やオープンソースプロジェクトでこのようなものがあると
いうことが私的にとても大きくまさしくこれらを求めていたような感じです。
一応、独自技術?にあたいするものになるので秘守性は高くなければならなく外部には漏れないようにしなければならないのですが対策もありそうで安心しました。
まずはスニペットから始まりオープンソースプロジェクト系のものへ移行できると
いいかなと考えています。
調べ進めた中で、いきなりの導入は難しいと考えたためまずはオフラインでこつこつとはじめてみようかと思います。
その中で、ほぼ固定になるものが出てきたら関数化していくなどの方法が現状のベストになるかと思います。
回答を頂いたように関数の作成にも意欲的には取り組んでいこうと思います。

TaroToyotomi, ps13zier👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

0

社内ルールにより基本的に関数を増やさない

この部分が引っ掛かります。

もっと詳しくお話しを聞いてから判断すべきかもしれませんが、社内ルールの点がひっかかりるため、独断にて厳しめな意見をいうと、nodactさんの職場では、コーディングに関して業務時間内外問わず、書籍などで学ぶ環境がないのではないかと心配しております。基本的には、コーディングをする全員が学ぶ必要があります。

なぜ、このようなこと書くかというと、2つあります。1つは、私がそのような職場にいたことがあること、もう一つが、関数を共通処理のためという考えをしていることです。

関数は共通処理を行うためにあるのではありません。処理を一定のまかたりにまとめ、コードを見やすくしたり、テストしやすくしたりして、バグのないコードを書くための基本テクニックです。

関数を作らない環境の方だと、関数を増やすと処理が追いづらくなるといった意見が出るはずです。その点は間違いなく慣れの問題で、適切な関数の分割と適切な関数名をつけるようになると処理のタイトルが羅列してあるコードのように見通しが良くなります。

また、エラー処理などの環境依存が強い部分はオブジェクト指向やコールバック関数(関数ポインタ)などを使えば、共通処理化できるはずです。(はじめはコピペで仕様が固まったら共通関数にしてもいいと思います。)ユニットテストツールを使えば、現行の機能を維持したまま、機能追加もできます。

この点は、実際やってみないと実感できないかもしれませんが、まずは共通処理のためでなく、読みやすさのために関数を作ることをはじめて見ることを強くお勧めします。

投稿2016/05/02 17:03

iwamoto_takaaki

総合スコア2883

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

わかります。とてもよく。
組み込み系では特に、組み合わされる各種デバイスの型番、シリーズごとに、ポートI/Oの手順や処理すべきエラー状態など、高いレベルでパターン化とコードの再利用が可能ですよね。

コードの断片(スニペット)集を、チームや全社で共有して育てていく(DBなどに人力で追加や改訂していく)方法がすぐに思い浮かびますが、実際にやってみるとなかなか難しいですよね。ソースコードの検索システムが有効だと思います。コメントの入れ方等は社内やプロジェクト毎に規定を作って運用されていらっしゃるでしょうから、検索システムを意識したルールを取り入れることができれば、より効果的ではないかと。

社内文書をgoogleのように検索したい、というニーズに応えるオープンソースプロジェクトはいくつかありますが、最近の主流は Groonga とか Elasticsearch あたりでしょうか。

あと、ネット検索したところプログラムのソースコード検索に特化した製品で CodeDepot というものがヒットしました。コピペ先ソースファイルを検索出来たり、CVSやGitなどのバージョン管理システムにも対応していたり、役立ちそうな機能を持っているようです。トライアル版もあるようなので、試してみたらいかがでしょうか。

投稿2016/05/02 09:38

tkanda

総合スコア2425

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ドキュメント管理システムを使ってみるとよいかもしれません

・ソースコード(雛形・テンプレート)を管理、保存したい

ソースコードも一種のドキュメントです
全文検索もできるのでなんとなく覚えている一部のコードからもひっかけられます

・分類分けをしたい

ドキュメントにタグ付けで対応できます

あと外だししても構わない(秘伝のタレ的な要素が少ない:組み込み系って結構こういうのってありますよね)ようであれば、マネタイズしておいたCMS(WordPressなど)で構築しておくとついでにお小遣い稼ぎもできますね

あまり参考にならないかもしれませんが..

マネタイズしておいたCMSの部分は個人的に実践していて、アクセス解析も仕込んでいるんですがその分析結果を見るのも面白いですよ

投稿2016/05/02 09:06

dojikko

総合スコア3939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

・ソースコード(雛形・テンプレート)を管理、保存したい
→変更が必要な箇所(例えば変数名・符号)もありあくまでも雛形を保存したい
・分類分けをしたい
→例えばですがエラー検出、PID制御など

いわゆるsnippetツールのようなものをお探しでしょうか?
コードスニペット ツールのまとめ(比較) | 4★star
↑こちらなどは参考になりますか?

投稿2016/05/02 08:59

tkturbo

総合スコア5572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

スニペットそのものではないですか?
いろいろツールも出てきますよ。オンラインサービスから個人的な利用まで沢山(^o^)

投稿2016/05/02 08:56

ECOWOOD

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問