LINUX.ORG.RU

История изменений

Исправление shell-script, (текущая версия) :

Я уверен, что все эти students, otpusk и т.д. используются в коде неоднократно. А значит подобные портянки повторяются по множеству раз. И мало того, что оно тяжелочитаемо(ага, потом ещё говорят, что perl writeonly из-за подобных программистов), так его ещё и копипастить кучу раз придётся. Это раз.

Два заключается в том, что здесь данные находятся в коде. По логике названий - это различные состояния (студент, отчислен, в отпуске и т.д.). Такое должно быть в базе в таблице status с полями id и status_name.

Но даже если хочется в код запихать, можно было бы хотя бы как-то это дело упорядочить. Ну, на вскидку:

my %status = (
    students    => 1,
    search      => 2,
    akadem      => 3,
    otchislen   => 4,
    otpusk      => 5
);

my $given_var = shift;

my $page = $status{$given_var};
Хотя мне лично в принципе не понятно, зачем делать такой перевод имён в цифры.

Исходная версия shell-script, :

Я уверен, что все эти students, otpusk и т.д. используются в коде неоднократно. А значит подобные портянки повторяются по множеству раз. И мало того, что оно тяжелочитаемо(ага, потом ещё говорят, что perl writeonly из-за подобных программистов), так его ещё и копипастить кучу раз придётся. Это раз.

Два заключается в том, что здесь данные находятся в коде. По логике названий - это различные состояния (студент, отчислен, в отпуске и т.д.). Такое должно быть в базе в таблице status с полями id и status_name.

Но даже если хочется в код запихать, можно было бы хотя бы как-то это дело упорядочить. Ну, на вскидку:

my %status = (
    students    => 1,
    search      => 2,
    akadem      => 3,
    otchislen   => 4,
    otpusk      => 5
);

my $given_var = shift;

my $page = $status{$given_var};
Хотя мне лично в принципе не понятно, зачем делать такой перевод имён в цифры.