이 질문에서 저는 기본 관행에 대해 물어볼 것입니다. 오늘 나는이 코드로 데이터베이스 테이블 값을 업데이트해야하는 상황에 직면했다.깨끗한 기능 코드 또는 많은 코드 덩어리
public void updateUsrProfileName(string usrId, string name)
{
query = "update [db_user].[dbo].[usr_profiles] set [Name][email protected] where [usrid][email protected] ";
try
{
com = new SqlCommand(query,con);
com.Parameters.AddWithValue("@name",name);
com.Parameters.AddWithValue("@usrid",usrId);
con.Open();
com.ExecuteNonQuery();
con.Close();
}
catch (Exception e)
{
con.Close();
throw e;
}
}
나는 테이블의 모든 컬럼에 대한 기능 이상 반복해야합니다, 그래서 내가 코드를
public void Commonfunction(SqlCommand com, string var)
{
try
{
com.Parameters.AddWithValue("@usrid", var);
con.Open();
com.ExecuteNonQuery();
con.Close();
}
catch (Exception e)
{
con.Close();
throw e;
}
}
을 줄이고이
public void updateUsrProfileName(string usrId, string name)
{
query = "update [db_user].[dbo].[usr_profiles] set [Name][email protected] where [usrid][email protected] ";
try
{
com = new SqlCommand(query,con);
com.Parameters.AddWithValue("@name",name);
Commonfunction(SqlCommand com, string name);
}
catch (Exception e)
{
con.Close();
throw e;
}
}
같은 기능 이상 전화를 하나 개의 공통 기능을 마련 장점 : - 중복 코드가없는 깨끗한 코드.
단점 차이가 매우 적은 적은 코드 길이 : - 함수의 어떤으로 호출은 매우 적은 코드가 어디 있는지지도 기능은이 상황에서 등
호출, 성능이 인수와 일치해야함에 따라 감소 증가 이중화는 공통 함수로 이동하는 것이 좋으며 어떤 조건에서는 함수를 나누는 것에 대해 생각해야한다.
전체 레코드를 업데이트하십시오. 'updateUserProfile (UserProfile profile)'함수 하나만 작성하십시오. – sbenitezb
나는 리소스의 낭비가있을 것만 같아서 이름을 업데이트해야하는 이유가 성능에 영향을 미치는 전체 행으로 이동해야하는 이유는 무엇입니까? –
초당 사용자 프로필을 얼마나 자주 업데이트하고 있습니까? 한 번도, 나는 추측 할 것이다. – sbenitezb