愛車の税金と車検が同時に来て苦しむSaityです。
さて、今日はWebシステムのプロジェクトにおいて、デザイナーとプログラマの連携でやっちゃいけない事を挙げます。
【マネージャーがやっちゃダメな事】
・なんでもかんでもメーリングリストで連絡を取ろうとするな
特に、ファイルの作業衝突を防ぐ為に、「これからXXXファイルの作業をします」のような内容をメーリングリストで管理するのはもってのほか!身に覚えのあるプロジェクトは即、バージョン管理システムを導入しましょう。
また、システムの品質管理にはバグトラッキングシステム(BTS)を使うと良いでしょう。
・デザインと平行してプログラミングのスケジュールを組むな
テンプレートエンジンを使っても100%作業を分離する事は不可能です。
十分な工期が取れるならば、全体のデザインとHTMLコーディングの作成を先工程とし、そのHTMLスケルトンを使ってプログラマの仕様FIXを行うと効率が良いです。工期は延びますが、工数は確実に削減できます。
【プログラマがやっちゃダメな事】
・プログラムソースにHTMLコードを入れるな
こんなコードは最悪です。
<?php
// ・・・
// テーブル生成
$member_table = '
<table>
<tr>
<th>ID</th>
<th>NAME</th>
<th>Email</th>
<th>TEL</th>
<th>SEX</th>
</tr>
';
if (count($member_list)) {
foreach ($member_list as $member) {
if ($member['sex'] == 'm') {
$sex = '男';
} elseif ($member['sex'] == 'f') {
$sex = '女';
} else {
$sex = '未選択';
}
$member_table .= "
<tr>
<td>".htmlspecialchars($member['id'], ENT_QUOTES)."</td>
<td>".htmlspecialchars($member['name'], ENT_QUOTES)."</td>
<td>".htmlspecialchars($member['email'],ENT_QUOTES)."</td>
<td>".htmlspecialchars($member['tel'], ENT_QUOTES)."</td>
<td>".htmlspecialchars($sex, ENT_QUOTES)."</td>
</tr>";
}
} else {
$member_table .= '<tr><td colspan="5">データはありません</td></tr>';
}
$member_table .= '</table>';
$smarty->assign("member_table",$member_table);
極端な例ですが、このようにスクリプトコードにHTMLが混入するスクリプトをよく見かけます。
一体何の為に、テンプレートエンジンを使っているのか解かりませんね。
【デザイナーがやっちゃダメな事】
・特にないけど、JavaScriptとかSmartyの簡単なコードが読めると、とても助かります。
先ほどのスクリプトをちゃんと書くなら、こんな感じになりますが、ニュアンスでどのような動きをするか理解できますか?
>>HTML
ID | NAME | TEL | SEX | ||||||
---|---|---|---|---|---|---|---|---|---|
{$member.id|escape} | {$member.name|escape} | {$member.email|escape} | {$member.tel|escape} | {if $member.sex == 'm'}男 {elseif $member.sex == 'f'}女 {else}未選択 {/if} |
データはありません |