同一フォーム内に複数の送信ボタンを持つCGIを作成しています.
POSTで取得した送信ボタンの値によって処理をわけています.

↓のように書いた場合,押されたほうのボタンの値がfunctionの値になるので
,functionの値によって処理を分岐すれば,期待通りの動作をします.

<form ... >
<button type="submit" name="function" value="readA">readA</button>
<button type="submit" name="function" value="readB">readB</button>
...
</form>

しかし,CGI解説サイトなどを眺めていますと,↓のように送信ボタンのnameを
重複しないようにしろと書いてあったりします.
<form ...>
<button type="submit" name="function_readA" value="readA">readA</button>
<button type="submit" name="function_readB" value="readB">readB</button>
...
</form>

これはこれで,押されたボタンだけvalueを持つので,
function_readA, function_readB, ..が値を持っているかどうかによって
処理を分岐させれば期待通りの動作をさせることができます.

どちらの方法が正しい(推奨)ですか?