ヘッダファイルには #define ガードを入れる。

#define ガードのシンボル名は、 <PROJECT>_<PATH>_<FILE>_H_ という書式にする。


例:foo というプロジェクトの foo/src/bar/baz.h というファイル場合
#ifndef FOO_BAR_BAZ_H_
#define FOO_BAR_BAZ_H_

...

#endif  // FOO_BAR_BAZ_H_

前方宣言で十分なときには、#include を使ってはいけない。

インライン関数を定義するのは関数が小さいときのみ(10行以下)にする。

複雑なインライン関数を定義するときには、必要に応じて -inl.h というサフィックスを持つファイルに書いても構わない。

関数を定義するときには、パラメータの並び順を「入力、出力」という順序にすること。

コードを読みやすくするため、また、依存関係が隠れてしまうのを避けるため、インクルードを次の順序にすること。 Cライブラリ、C++ライブラリ、その他のライブラリの .h、プロジェクトの .h

Menu

XML

オープンソース

エンドツーエンド暗号化

プロジェクト管理

フォーラム

GitClient

ホスティング

開発手法

ドメイン駆動設計:DDD?

テスト駆動開発:TDD

ビヘイビア駆動開発:BDD

チケット駆動開発:TiDD

課題追跡システム:ITS(issue tracking system)
バグ追跡システム:BTS(bug tracking system)

ビルドツール

JavaScript

ビルドファイルを自動生成

設定ファイル

データシリアライズ

マルチフォーマット

継続的インテグレーション

オススメ

for Windows

その他

構成管理

テストツール

デプロイツール

仮想マシン構築

オーケストラレーション

仮想化ソフトウェア

クラスタリソースマネージャ

コンテナオーケストレーション

サービスメッシュ

Kubernetes

高可用性クラスタ/HAクラスタ

  • Pacemaker?

負荷分散/ロードバランス(Load Balancing)クラスタ

HPC(High Performance Computing)クラスタ

テスト

JavaScript,TypeScript

Living Documentation Generator

ドキュメント作成

reStructuredText

CommonMark

グラフドキュメント

問い合わせ言語

ファイルシステム

分散型Web

Web API作成補助ツール

パッケージ管理システム

Ruby

Chef

OCaml

Rust

Web Frontend

Node.js

Haxe

Microsoft .NET Framework

Mac OS X

Debian

Red Hat系

Gentoo Linux

Arch Linux

シーケンス図

フローチャート

ログイン

脆弱性関連情報

ツール

Web

Components

Template engine

CSS Preprocessor

Haxe
Node.js

JavaScript

MVVM系フレームワーク
比較
データバインディング

Websocket

GDPR対策

Cookie利用

Browser互換確認

Linux

コマンドラインシェル

Record your terminal session

Windows

コマンドラインシェル

メニューサンプル1

Microsoft Media Foundation

  • TopoEdit?

MFCaptureToFile

IMFSinkWriter?

IMFSourceReader?

OpenCV

webページ作成

デザイン

オンラインプログラミング

IDE

プログラミングに最適なフォント

アルゴリズム

コスト・マネジメント

スケジュール・コスト管理

  • EVM?

見積・請求書

デザインソフト

クラウドソーシング

コードバウンティ

管理人/副管理人のみ編集できます