lreederと同じように、オープンソースと非公開のものが異なるファイル/ライブラリになるようにリファクタリングすることをお勧めします。
しかし、それがうまくいかない場合は、でなく、のコードを完全に解析する必要があります。代わりに、//PRIVATE
と//END-PRIVATE
のようなコメントの間にファイルのプライベート部分を置くような簡単なことができます。その後、プライベートセクションを削除するには、このrubyスクリプトを使用することができます。
#!/usr/bin/ruby
# remove_private.rb: Removes all lines between "PRIVATE" and "END-PRIVATE"
#
# Usage 1, output to STDIO: cat filename.c | ruby remove_private.rb
# Usage 2, output to STDIO: ruby remove_private.rb filename.c
# Usage 3, in-place editing of file (and creating a backup): ruby -i.bak remove_private.rb filename.c
while line = ARGF.gets
unless (line =~ /PRIVATE/)..(line =~ /END-PRIVATE/)
puts line
end
end
これは、コードを短くするためにルビーのいくつかの魔法と便利な機能を使用していますが、私はフルよりデバッグし、維持するために非常に簡単になると思いますCパーサ。また、開発者は、コードで作業している間に、どの機能がプライベートであるかを簡単に確認することができます。私はMakefileの一部をリリースしたいところで作業していたプロジェクトで、これに非常に似た何かをしましたが、全部ではありません。たぶん、会社のお気に入りのスクリプト言語で書き直すことができます。
「リファクタリングツール」は多分探していますか? –
+1の質問 – nsd