2010-04-09 2 views
8

모든 컴퓨터 과학 수업에서 배우며 프로그래머가 GoTo를 사용해서는 안되는 많은 서적을 썼습니다. 심지어 그것에 대해 xkcd 만화가 있습니다. 제 질문은 Eval에 대해 똑같은 말을 할 수있는 시점에 도달 했습니까?Eval을 사용하여 GoTo와 동일한 오명을 사용해야합니까?

GoTo가 프로그램 흐름 및 가독성을 위해 전도성이 아닌 경우 Eval은 디버깅, 프로그램 실행 및 디자인에서 동일합니다.

Eval을 사용하면 GoTo와 동일한 오명을 가지며 xkcd 만화에서와 동일한 결과가 발생합니까?

+0

글쎄, 확실히 만화에서와 같은 결과를 기대하지 않습니다 ... 나는 지금까지 몇 번 먹었을 것입니다. – Tesserex

+1

이것은 접선이지만, 고토 논쟁은 극이다. 고토는 사람들이 그것을 바보로 사용할 때만 악합니다. eval과 동일합니다. 평가는 매우 강력하고 유연하며 위험한 방향입니다. –

답변

7

어떤 것이 든 더 많은 오명이 있어야합니다.

GoTo는 유지 관리하기 어려운 코드를 생성하는 경우가 있습니다. Eval은 종종 보안 취약성이있는 코드를 생성합니다.

1

5 월 eval은 GoTo가 도달 한 비판 수준에 도달하지 않았지만 확실히 그 비추천!

1

누군가가 "Eval consider Evil"기사를 게시하기까지는 단지 시간이 걸립니다.

+1

에 이어 " 'Eval 고려한 Evil'은 'Evil'로 간주됩니다. – bryanjonker

+0

http://diveintomark.org/archives/2002/01/04/eval_is_evil – dan04

2

평가판에는 몇 가지 심각한 보안 문제가 있습니다. 신뢰할 수 없거나 사용자가 입력 한 정보가 평가에 반영 될 가능성이있는 경우 취약합니다.

Jslint는 js 코드에서 eval() 사용에 대해 경고합니다.

0

"Exploit of a Mom"은 간접적으로 평가를 다루고 있습니다. 악성 코드는 적절한 검사가 이루어지지 않아 시스템에서 실행됩니다.