amarao (amarao_san) wrote,
amarao
amarao_san

Category:

самое тяжёлое в программировании

... состоит в том, чтобы столкнувшись с задачей - не срезать угол. Это будет работать, это можно покрыть тестами, но если в момент решения задачи срезал угол, дальше, много позже, оно будет больно кусать. В момент, когда угол срезаешь, нет ничего, чтобы тебя останавливало или мешало (кроме некоторой запутанности получившегося).

Вот конкретный маленький пример:

в прототипе sql'ка возвращала список списков (то бишь обычную табличку) из пар значений. Дальше из этой пары надо было брать первую колонку, делать из неё строчку и пихать в stdout другой софтинки.

Прототип:

target_list = '\n'.join(str(tgt[1]) for tgt in task_data if marked(tgt))


Программа:

class Task:
...
    def add_task_data(self, task_data):
        for nationality, gps in query:
                self.tasklets[str(gps)] = Tasklet(nationality, gps, ammo)

    def get_target_list(self):
        return return "\n".join(filter(marked, list(self.tasklets)))

И это не считая потрошков Tasklet.

Делают одно и то же. Но во втором можно разобраться и читать, а вот в первом без пол-литры дальше не понять (фрагмент кода прототипа):

for elem in results:
val.append('(' + ', '.join([str(elem[1]), "'" + str(elem[0]) + "'", "[" + ', '.join(elem[2]) + ']', str(start_ts), str(delta)]) + ')')
ret = begin + ',\n'.join(val) + end

Вот такие речекряки - они работают и не жужжат, но являются страшной халтурой. И главная драма состоит, что такую халтуру ловит либо очень хороший peer review, либо собственная совесть. Которая является функцией, обратной к близости дедлайна.
Tags: programming
Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 4 comments