Open unrealsolver opened 4 years ago
Привет
А зачем тут делить на 2 spaces_q = ROWS - stars_q / 2.
On Mon, 20 Jan 2020, 13:50 Ruslan, notifications@github.com wrote:
venv
Virtual Environment полезная вещь, но не столь необходимая для этого курса. В любом случае, используешь или не исопльзуешь venv - на GitHub залиать эту папку не стоило, она чисто локальная и должна быть добавлена в файл .gitignore. Я потом подробнее расскажу про все это task1.py
Программа написана верно, но есть замечания. Я считаю, что в простоте есть свое изящество, есть свой смысл. Ты попыталась применить подходы промышленного программирования к решению простейшей задачи. В эту ловушку попадают многие новички. Переводя на примеры, то здесь абсолютно не нужны константы для '' и ' ', т.к. они используются лишь единожды и ты больше никогда не будешь вносить изменения в этот код. Даже если это промышленный код, то внесение новых абстакций должно быть чем-то оправдано. Например, упрощением дальнейшей поддержки, читаемости, скорости и т.д. Более серьезное замечание - в строках 9-10 ты изменяешь переменные STARS_Q и SPACE_Q. Они заданы в верхнем регистре, что традиционно указывает на константу и может сбивать с толку. Поэтому тут стоит переименовать в нижний регистр. В этом выражении (SPACE SPACES_Q) + (SYMBOLSTARS_Q) нет необходимости в скобках. Читаемости это тоже не особо добавляет (в таком просто выражении). А вот на отсутствие пробелов вокруг второго стоит обратить внимание. В классическом код-стайле все операторы отделяются пробелами. ROWS_Q и SPACES_Q могут быть связаны через выражение spaces_q = ROWS - stars_q / 2. А если использовать метод str.center https://docs.python.org/3.7/library/stdtypes.html#str.center то вообще кода там практически не останется. Чтобы не прибалять STARS_Q += 2 можно задать цикл for с шагом 2. for i in range(0, ROWS, 2): task2.py
Немного перегруппировав ifы можно записать это все чуть короче, с меньшим числом принтов. Но в целом такой цели тут не стояло, лишь бы понятно было. YEAR не является константой, просто year.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/volhadl/pht/issues/1?email_source=notifications&email_token=AMGBXFHGCVKBDZKHZ3GXADLQ6V6WFA5CNFSM4KJCE5G2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IHKHMEA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMGBXFAEU6XVQD3VUPBSFIDQ6V6WFANCNFSM4KJCE5GQ .
А есть способ за игнорить файл который уже был залит на git?
On Tue, 21 Jan 2020, 09:58 Volha Dlugokanskaya, ms.dlugokanskaya@gmail.com wrote:
Привет
А зачем тут делить на 2 spaces_q = ROWS - stars_q / 2.
On Mon, 20 Jan 2020, 13:50 Ruslan, notifications@github.com wrote:
venv
Virtual Environment полезная вещь, но не столь необходимая для этого курса. В любом случае, используешь или не исопльзуешь venv - на GitHub залиать эту папку не стоило, она чисто локальная и должна быть добавлена в файл .gitignore. Я потом подробнее расскажу про все это task1.py
Программа написана верно, но есть замечания. Я считаю, что в простоте есть свое изящество, есть свой смысл. Ты попыталась применить подходы промышленного программирования к решению простейшей задачи. В эту ловушку попадают многие новички. Переводя на примеры, то здесь абсолютно не нужны константы для '' и ' ', т.к. они используются лишь единожды и ты больше никогда не будешь вносить изменения в этот код. Даже если это промышленный код, то внесение новых абстакций должно быть чем-то оправдано. Например, упрощением дальнейшей поддержки, читаемости, скорости и т.д. Более серьезное замечание - в строках 9-10 ты изменяешь переменные STARS_Q и SPACE_Q. Они заданы в верхнем регистре, что традиционно указывает на константу и может сбивать с толку. Поэтому тут стоит переименовать в нижний регистр. В этом выражении (SPACE SPACES_Q) + (SYMBOLSTARS_Q) нет необходимости в скобках. Читаемости это тоже не особо добавляет (в таком просто выражении). А вот на отсутствие пробелов вокруг второго стоит обратить внимание. В классическом код-стайле все операторы отделяются пробелами. ROWS_Q и SPACES_Q могут быть связаны через выражение spaces_q = ROWS - stars_q / 2. А если использовать метод str.center https://docs.python.org/3.7/library/stdtypes.html#str.center то вообще кода там практически не останется. Чтобы не прибалять STARS_Q += 2 можно задать цикл for с шагом 2. for i in range(0, ROWS, 2): task2.py
Немного перегруппировав ifы можно записать это все чуть короче, с меньшим числом принтов. Но в целом такой цели тут не стояло, лишь бы понятно было. YEAR не является константой, просто year.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/volhadl/pht/issues/1?email_source=notifications&email_token=AMGBXFHGCVKBDZKHZ3GXADLQ6V6WFA5CNFSM4KJCE5G2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IHKHMEA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMGBXFAEU6XVQD3VUPBSFIDQ6V6WFANCNFSM4KJCE5GQ .
venv
Virtual Environment полезная вещь, но не столь необходимая для этого курса. В любом случае, используешь или не исопльзуешь venv - на GitHub залиать эту папку не стоило, она чисто локальная и должна быть добавлена в файл
.gitignore
. Я потом подробнее расскажу про все этоtask1.py
Программа написана верно, но есть замечания. Я считаю, что в простоте есть свое изящество, есть свой смысл. Ты попыталась применить подходы промышленного программирования к решению простейшей задачи. В эту ловушку попадают многие новички. Переводя на примеры, то здесь абсолютно не нужны константы для '' и ' ', т.к. они используются лишь единожды и ты больше никогда не будешь вносить изменения в этот код. Даже если это промышленный код, то внесение новых абстакций должно быть чем-то оправдано. Например, упрощением дальнейшей поддержки, читаемости, скорости и т.д. Более серьезное замечание - в строках 9-10 ты изменяешь переменные
STARS_Q
иSPACE_Q
. Они заданы в верхнем регистре, что традиционно указывает на константу и может сбивать с толку. Поэтому тут стоит переименовать в нижний регистр. В этом выражении `(SPACE SPACES_Q) + (SYMBOLSTARS_Q)нет необходимости в скобках. Читаемости это тоже не особо добавляет (в таком просто выражении). А вот на отсутствие пробелов вокруг второго
стоит обратить внимание. В классическом код-стайле все операторы отделяются пробелами.
ROWS_Qи
SPACES_Qмогут быть связаны через выражение
spaces_q = ROWS - stars_q / 2. А если использовать метод
str.centerhttps://docs.python.org/3.7/library/stdtypes.html#str.center то вообще кода там практически не останется. Чтобы не прибалять
STARS_Q += 2можно задать цикл
forс шагом 2.
for i in range(0, ROWS, 2):`task2.py
Немного перегруппировав
if
ы можно записать это все чуть короче, с меньшим числом принтов. Но в целом такой цели тут не стояло, лишь бы понятно было.YEAR
не является константой, простоyear
.